我希望能够在列表视图中获取并设置复选框的状态。我希望能够在xaml中以某种方式绑定单击框时自动更新MyListItems[row].myCheckedValue
(我对绑定知之甚少)或者能够逐行遍历每个列表并访问复选框C#。我也不知道如何接近。我刚刚开始使用WPF。
我也可以使用Checked和Unchecked事件,但我不知道如何检索复选框所在的列表项的行。
<ListView Name="listView">
<ListView.ItemTemplate>
<DataTemplate>
<CheckBox x:Name="checkBox" Checked="itsChecked" Unchecked="itsUnchecked"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
public List<myListItem> MyListItems;
...
listView.ItemsSource = MyListItems;
...
public class myListItem {
public bool myCheckedValue;
}
private void getCheckedItems() {
//Loop through listview rows and get checkbox state
//???
}
private void itsChecked(object sender, RoutedEventArgs e) {
//How can I get the row this checkbox is in??
}
答案 0 :(得分:2)
类似
<GridViewColumn Header="Selected">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox x:Name="chk" IsChecked="{Binding MyListItemsBoolField}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
假设您的listView.ItemsSource = MyListItems;
将留下
答案 1 :(得分:0)
它应该像将CheckBox的IsChecked属性绑定到ViewModel上的属性一样简单(如果新属性尚不存在,则可能需要添加它)。