如何在用户单击时更改项目的背景颜色

时间:2015-12-18 01:18:13

标签: c# wpf

我有一个列表视图,当鼠标经过项目并点击它们时,改变颜色。 但是当用户点击某个项目并且它改变颜色并且用户然后点击另一个项目时,该项目之前会点击回其正常颜色。 如何使用户点击某个项目时,之前未点击的其他项目将返回其正常颜色。 对于用户第二次点击项目,该项目返回其正常颜色。 事件的Xaml代码文件如下:

 <EventTrigger RoutedEvent="Border.MouseEnter" >
                            <BeginStoryboard>
                                <Storyboard TargetProperty="(Border.Background).(SolidColorBrush.Color)" >
                                    <ColorAnimation  To="#6990EE90" Duration="0:0:0.3" Storyboard.TargetName="border"  />

                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger>
                        <EventTrigger RoutedEvent="Border.MouseLeave" >
                            <BeginStoryboard>
                                <Storyboard TargetProperty="(Border.Background).(SolidColorBrush.Color)">
                                    <ColorAnimation  To="Transparent" Duration="0:0:0.3" Storyboard.TargetName="border"  />

1 个答案:

答案 0 :(得分:1)

您无需进行任何单独的编码或为此编写任何触发器,只需提供SelectionMode=Multiple,否则您可以提供SelectionMode=Extended

即。,

<ListView SelectionMode="Extended">
//Definition comes here 
</ListView>

这两者之间的区别在于[Reference]

<强>的SelectionMode =扩展: 用户可以在按住SHIFT键的同时选择多个连续项目。

SelectionMode = Multiple:用户无需按住修改键即可选择多个项目。