我想阻止在ListBox中选择ListBoxItems。我的DataTemplate有一个复选框,这应该是用户可以单击或选择的唯一选项。 我怎样才能做到这一点? 谢谢!
答案 0 :(得分:7)
这几乎是一个重复的问题。事实上,你在这里提出两个问题:
为您的ListBoxItem
设置样式,使其不显示选择(在SO的其他位置查找该答案),或者如果您不这样做,请将ListBox
替换为ItemsControl
需要ListBox
提供的其他功能。
将复选框的IsChecked属性绑定到父ListBoxItem.IsSelected
属性:
<CheckBox
IsChecked="{Binding
RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType=ListBoxItem},
Path=IsSelected}"
/>
答案 1 :(得分:0)
当您的用户尝试(取消)检查您的复选框时,项目会以某种方式变为“有效”。并将应用专注的风格。据我所知,没有办法禁用选择(因为如果你的复选框不起作用),但你可以覆盖列表框项目的焦点(或选定)样式