我有一个带有复选框的ListView
。但有时候,当我检查复选框时,其他选中的复选框会被取消选中。我找不到,问题在哪里。带有复选框的WPF ListView取消选中
将不胜感激任何帮助。
这里是XAML代码:
<ListView ItemsSource="{Binding SeatCars}" SelectionChanged="SeatSelectionChanged">
<ListView.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding}" IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListViewItem}}, Path=IsSelected}"></CheckBox>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
这里是事件处理程序:
private void SeatSelectionChanged(object sender, SelectionChangedEventArgs e)
{
foreach (var item in e.AddedItems)
{
MainViewModel.SeatSelected.Add(item.ToString());
}
foreach (var item in e.RemovedItems)
{
MainViewModel.SeatSelected.Remove(item.ToString());
}
}
但问题仍然存在,即使没有事件处理程序。因为你的价值器isChecked的
** SeatCars **内容是否保持不变?它是ObservableCollection吗?我试过一些小应用程序。但似乎没有能够重现您的问题,所以可能丢失了一些东西...... – Roman