WPF、列表框和x27;s ItemTemplate具有复选框,但复选框似乎不是该项
我只是想要一个用于Windows窗体的复选框WPF、列表框和x27;s ItemTemplate具有复选框,但复选框似乎不是该项,wpf,listbox,keyboard,focus,checkedlistbox,Wpf,Listbox,Keyboard,Focus,Checkedlistbox,我只是想要一个用于Windows窗体的复选框 <ListBox> <ListBox.ItemTemplate> <DataTemplate> <CheckBox Content="{Binding Name}"/> </DataTemplate> </ListBox.ItemTemplate> 起初
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding Name}"/>
</DataTemplate>
</ListBox.ItemTemplate>
起初,这似乎可行,但存在许多问题。简而言之,它的工作原理就像一个复选框浮动在真实的项目上,而不是复选框就是项目
我的意思是,(1)单击复选框的文本不会选择列表框项目,(2)按向上和向下键不会聚焦复选框。我必须单击复选框才能将其聚焦。我在谷歌上搜索过解决方案,但没有干净的解决方案。我想要的太多了吗
我只想要CheckedListBox的行为
我通过处理复选框的PreviewMouseDown事件并手动选择项目来解决(1)。它似乎不干净。这是因为您的
复选框位于列表框中。它作为列表中的一项处理,并具有其所有功能
如果您只想构建复选框列表,而不需要列表的选择逻辑,请使用,而不是列表框
。用法相同。如果要使复选框列表可滚动,请使用ScrollViewer包装ItemsControl
<ScrollViewer>
<ItemsControl ItemsSource="{Binding YourItemsCollection">
<ItemsControl.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding Name}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControls>
</ScrollViewer>
链接问题()的选定答案提供了一个干净的解决方案!被困在同一个场景->找到你的问题->找到另一个有补救措施的。嗯