C# 是否将listview中的复选框绑定到类变量?
我希望能够获取并设置listview中复选框的状态。我希望能够通过xaml中的某种绑定(我对绑定知之甚少)单击框时自动更新C# 是否将listview中的复选框绑定到类变量?,c#,wpf,listview,checkbox,C#,Wpf,Listview,Checkbox,我希望能够获取并设置listview中复选框的状态。我希望能够通过xaml中的某种绑定(我对绑定知之甚少)单击框时自动更新MyListItems[row].myCheckedValue,或者能够逐行循环遍历每个列表项并访问C#中的复选框。我也不知道如何接近。我刚从WPF开始 我也可以使用Checked和Unchecked事件,但我不知道如何检索复选框所在列表项的行 <ListView Name="listView"> <ListView.ItemTemplate>
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>
它应该像将复选框的IsChecked属性绑定到ViewModel上的属性一样简单(如果新属性不存在,则可能需要添加新属性) 类似于
<GridViewColumn Header="Selected">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox x:Name="chk" IsChecked="{Binding MyListItemsBoolField}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
假设您的listView.ItemsSource=MyListItems代码>将保留
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??
}
<GridViewColumn Header="Selected">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox x:Name="chk" IsChecked="{Binding MyListItemsBoolField}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>