WPF - 阻止ListBox项目选择

Gus*_*nti 2 wpf listbox datatemplate

我想阻止在ListBox中选择ListBoxItems.我的DataTemplate有一个复选框,这应该是用户可以单击或选择的唯一选项.我怎样才能做到这一点?谢谢!

Dre*_*kes 7

这几乎是一个重复的问题.事实上,你在这里问两个问题:

  1. 无论哪种风格你ListBoxItem,这样它不显示选择(在看别处SO对于这个问题的答案),或更换ListBoxItemsControl,如果你不需要的其他功能ListBox提供.

  2. 将复选框的IsChecked属性绑定到父ListBoxItem.IsSelected属性:

    <CheckBox 
       IsChecked="{Binding
          RelativeSource={RelativeSource Mode=FindAncestor, 
                                         AncestorType=ListBoxItem},
          Path=IsSelected}"
    />
    
    Run Code Online (Sandbox Code Playgroud)