C# 是否将listview中的复选框绑定到类变量?

C# 是否将listview中的复选框绑定到类变量?,c#,wpf,listview,checkbox,C#,Wpf,Listview,Checkbox,我希望能够获取并设置listview中复选框的状态。我希望能够通过xaml中的某种绑定(我对绑定知之甚少)单击框时自动更新MyListItems[row].myCheckedValue,或者能够逐行循环遍历每个列表项并访问C#中的复选框。我也不知道如何接近。我刚从WPF开始 我也可以使用Checked和Unchecked事件,但我不知道如何检索复选框所在列表项的行 <ListView Name="listView"> <ListView.ItemTemplate>

我希望能够获取并设置listview中复选框的状态。我希望能够通过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>


它应该像将复选框的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>