.net 设置具有交替行颜色和鼠标悬停效果的列表框项目的样式
我想为列表框项设置一种样式,在该样式中,我们可以提供可选的行颜色以及鼠标悬停时更改的边框颜色和IsSelected属性。请给我一些我可以参考的例子。这是一个取自WPF主题项目(BureauBlue主题)的例子 您可以根据需要修改主题 列表框项目主题.net 设置具有交替行颜色和鼠标悬停效果的列表框项目的样式,.net,wpf,.net,Wpf,我想为列表框项设置一种样式,在该样式中,我们可以提供可选的行颜色以及鼠标悬停时更改的边框颜色和IsSelected属性。请给我一些我可以参考的例子。这是一个取自WPF主题项目(BureauBlue主题)的例子 您可以根据需要修改主题 列表框项目主题 在列表框中 这是一个取自WPF主题项目(BureauBlue主题)的示例 您可以根据需要修改主题 列表框项目主题 在列表框中 谢谢您的快速回复。但是我没有找到如何在这个对话框中设置其他颜色。。。我想创建一种风格,在这里我可以合并交替行颜色和
在列表框中
这是一个取自WPF主题项目(BureauBlue主题)的示例 您可以根据需要修改主题 列表框项目主题
在列表框中
谢谢您的快速回复。但是我没有找到如何在这个对话框中设置其他颜色。。。我想创建一种风格,在这里我可以合并交替行颜色和IsMouseOver的概念…@Yashwinder了解如何在中实现交替Answer@Yashwinder如果答案对你有帮助,也会对其他人有帮助,请在中标记为正确答案…感谢你的快速回复…但是我没有找到如何在此中设置其他颜色。。。我想创建一种风格,在这里我可以合并交替行颜色和IsMouseOver的概念…@Yashwinder了解如何在中实现交替Answer@Yashwinder如果答案对你有帮助,也会对其他人有帮助,请将答案标记为正确。。。
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="SnapsToDevicePixels" Value="true" />
<Setter Property="OverridesDefaultStyle" Value="true" />
<Setter Property="Padding" Value="3" />
<Setter Property="Foreground" Value="{StaticResource OutsideFontColor}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<ControlTemplate.Resources>
<Storyboard x:Key="HoverOn">
<DoubleAnimation Duration="00:00:00.1000000"
Storyboard.TargetName="BackgroundGradientOver"
Storyboard.TargetProperty="Opacity"
To="0.73" />
</Storyboard>
<Storyboard x:Key="HoverOff">
<DoubleAnimation Duration="00:00:00.4000000"
Storyboard.TargetName="BackgroundGradientOver"
Storyboard.TargetProperty="Opacity"
To="0" />
</Storyboard>
<Storyboard x:Key="SelectedOn">
<DoubleAnimation Duration="00:00:00.1000000"
Storyboard.TargetName="BackgroundGradientSelected"
Storyboard.TargetProperty="Opacity"
To="0.84" />
<DoubleAnimation Duration="00:00:00.1000000"
Storyboard.TargetName="BackgroundGradientSelectedDisabled"
Storyboard.TargetProperty="Opacity"
To="0.55" />
</Storyboard>
<Storyboard x:Key="SelectedOff">
<DoubleAnimation Duration="00:00:00.4000000"
Storyboard.TargetName="BackgroundGradientSelected"
Storyboard.TargetProperty="Opacity"
To="0" />
<DoubleAnimation Duration="00:00:00.4000000"
Storyboard.TargetName="BackgroundGradientSelectedDisabled"
Storyboard.TargetProperty="Opacity"
To="0" />
</Storyboard>
</ControlTemplate.Resources>
<Grid SnapsToDevicePixels="true">
<Rectangle x:Name="BackgroundGradientOver"
Fill="{DynamicResource MouseOverBrush}"
Opacity="0"
RadiusX="1"
RadiusY="1"
Stroke="{DynamicResource MouseOverBorderBrush}" />
<Rectangle x:Name="BackgroundGradientSelectedDisabled"
Fill="{DynamicResource ListItemSelectedBrush}"
Opacity="0"
RadiusX="1"
RadiusY="1"
Stroke="{DynamicResource ListItemSelectedBorderBrush}" />
<Rectangle x:Name="BackgroundGradientSelected"
Fill="{DynamicResource PressedBrush}"
Opacity="0"
RadiusX="1"
RadiusY="1"
Stroke="{DynamicResource PressedBorderBrush}"
StrokeThickness="1" />
<ContentPresenter x:Name="contentPresenter"
Margin="{TemplateBinding Padding}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Trigger.ExitActions>
<BeginStoryboard x:Name="SelectedOff_BeginStoryboard"
Storyboard="{StaticResource SelectedOff}" />
</Trigger.ExitActions>
<Trigger.EnterActions>
<BeginStoryboard x:Name="SelectedOn_BeginStoryboard"
Storyboard="{StaticResource SelectedOn}" />
</Trigger.EnterActions>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Trigger.ExitActions>
<BeginStoryboard x:Name="HoverOff_BeginStoryboard"
Storyboard="{StaticResource HoverOff}" />
</Trigger.ExitActions>
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource HoverOn}" />
</Trigger.EnterActions>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="#19f39611"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="#19000000"></Setter>
</Trigger>
</Style.Triggers>
</Style>
<ListBox AlternationCount="2">
</ListBox>