我有一個帶有複選框的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