如何访问Listbox中的Checkbox?

我有一个列表框,我已经设置了itemstemplate,如下所示。

XAML:

          

我想得到所有选中的复选框。有没有办法让每个项目的复选框控制,以便我可以检查其IsChecked属性。

我可以想到一种绑定IsChecked属性的方法。但还有其他方法吗?

是。 一种方法是绑定IsChecked属性。 如果您正在使用MVVM,那么这可能是正确的方法。

无论如何,如果你不想采用绑定方式,并假设你想迭代列表框的所有项目,并准备一个已检查项目的列表,看看是否有帮助: WPF – 从WPF中的DataTemplate查找控件

如果您已经绑定到项目模板中的Title属性,那么绑定到IsChecked也是有意义的。

如果确实需要,可以使用VisualTreeHelper查找CheckBox实例来遍历可视树。

IsChecked属性绑定到DataList包含的对象实例上的布尔属性将是最简单和最干净的方法。 或者,如果您想避免代码隐藏,那么您可以编写附加属性。

另请参见如何使用DataTemplate访问列表框中的特定项目?

我打赌它不能比那简单: