Tho*_*ber 6 c# data-binding listview selection
我使用以下方法将我的项目的 IsSelected 绑定到一个属性:WPF ListView Programmatically Select Item
<ListView.ItemContainerStyle>
<Setter Property="IsSelected" Value="{Binding IsSelected}"/>
</ListView.ItemContainerStyle>
Run Code Online (Sandbox Code Playgroud)
现在我可以通过简单地将 IsSelected 属性设置为 true 来选择我在代码后面的项目。但是,我无法通过将项目的 IsSelected 属性设置为 false 来取消选择项目。
将 items 属性 IsSelected 设置为 true 将触发 ListViewSelectionChanged 事件。但是,将已选择项的属性 IsSelected 设置为 false 不会触发该事件。该属性将更改为 false,但该项目在 ListView 中保持选中状态。我也尝试过使用 Mode=TwoWay 没有任何成功。
我将不胜感激任何形式的帮助!
非常感谢您提前,
托马斯
小智 8
对于希望“以编程方式”取消选择 ListView 的 OP 或其他人。如果您的 ListView 被设置为 Single、Extended 或 Multiple,您总是可以:
YourlistView.Selecteditem = null;
Run Code Online (Sandbox Code Playgroud)
看来您只是缺少TargetType风格。ListViewItem按照下面 Kent 的原始代码 添加目标类型。
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="IsSelected" Value="{Binding IsGroovy}"/>
</Style>
</ListView.ItemContainerStyle>
Run Code Online (Sandbox Code Playgroud)