我使用以下方法将我的项目的IsSelected绑定到属性:WPF ListView Programmatically Select Item
<ListView.ItemContainerStyle>
<Setter Property="IsSelected" Value="{Binding IsSelected}"/>
</ListView.ItemContainerStyle>
现在,我可以通过简单地将IsSelected属性设置为true来选择代码中的项目。但是,我无法通过将my items的IsSelected属性设置为false来取消选择项目。
设置items属性IsSelected为true将触发ListViewSelectionChanged事件。但是,将已选择项的属性IsSelected设置为false不会触发该事件。该属性将更改为false,但该项目仍在ListView中保持选中状态。我也试过使用Mode = TwoWay而没有任何成功。
我希望得到任何帮助!
非常感谢您提前,
托马斯
答案 0 :(得分:3)
对于OP或其他以编程方式&#34;&#34;取消选择ListView。 如果您的ListView被绑定为Single,Extended或Multiple,您可以随时:
YourlistView.Selecteditem = null;
答案 1 :(得分:2)
您似乎错过了TargetType
的样式。根据Kent的原始代码添加目标类型ListViewItem
。
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="IsSelected" Value="{Binding IsGroovy}"/>
</Style>
</ListView.ItemContainerStyle>
答案 2 :(得分:1)
或者您也可以使用它:
YourlistView.UnselectAll();