.net 设置具有交替行颜色和鼠标悬停效果的列表框项目的样式

.net 设置具有交替行颜色和鼠标悬停效果的列表框项目的样式,.net,wpf,.net,Wpf,我想为列表框项设置一种样式,在该样式中,我们可以提供可选的行颜色以及鼠标悬停时更改的边框颜色和IsSelected属性。请给我一些我可以参考的例子。这是一个取自WPF主题项目(BureauBlue主题)的例子 您可以根据需要修改主题 列表框项目主题 在列表框中 这是一个取自WPF主题项目(BureauBlue主题)的示例 您可以根据需要修改主题 列表框项目主题 在列表框中 谢谢您的快速回复。但是我没有找到如何在这个对话框中设置其他颜色。。。我想创建一种风格,在这里我可以合并交替行颜色和

我想为列表框项设置一种样式,在该样式中,我们可以提供可选的行颜色以及鼠标悬停时更改的边框颜色和IsSelected属性。请给我一些我可以参考的例子。

这是一个取自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>