2017-06-19 1 views
0

ich ein ListView mit Checkboxen haben. Aber manchmal, wenn ich eine Checkbox ankreuze, werden alle anderen Checkboxen, die vorher markiert wurden, deaktiviert. Ich kann nicht finden, wo das Problem ist.WPF Listview mit Checkboxen unchecks

Wird für jede Hilfe dankbar.

ist hier XAML-Code:

<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> 

Hier Eventhandler:

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()); 
    } 
} 

Aber das Problem weiterhin besteht auch ohne die Eventhandler.

+0

Sind die Inhalte von ** SeatCars ** gleich geblieben? Ist es ObservableCollection? Ich habe eine kleine App ausprobiert. aber scheint nicht in der Lage zu sein, Ihr Problem zu reproduzieren, so vielleicht ist etwas fehlt ... – Roman

Antwort

0

Sein wegen Ihrer IsChecked Wert ...

Hier ist mein Kästchen zum Ankreuzen Design, das Ihnen helfen kann.

<CheckBox x:Name="CheckBoxZone" Content="{Binding TheText}" 
            Tag="{Binding TheValue}"  
            Margin="0,5,0,0" IsChecked="{Binding IsChkBox1Checked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
            Command="{Binding DataContext.OnCheckedCommand, RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type StackPanel} }}" CommandParameter="{Binding ElementName=CheckBoxZone, Path=Tag}"> 
+0

war es aufgrund IsChecked. Danke für Ihre Hilfe. – bobo933

+0

Sie sind herzlich willkommen !!!! – Lina