Ich habe ein Fenster eingebaut, die eine XAML hat, die wie folgt aussieht:WPF Datenbindung der Aktualisierung nicht
<Window.Resources>
<DataTemplate x:Key="DataTemplate_Level2">
<Label Content="{Binding }" Width="70" Height="70" HorizontalContentAlignment="Center" x:Name="Background">
</Label>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding}" Value="1">
<Setter TargetName="Background" Property="Background" Value="Black"/>
</DataTrigger>
<DataTrigger Binding="{Binding}" Value="5">
<Setter TargetName="Background" Property="Background" Value="Red"/>
</DataTrigger>
<DataTrigger Binding="{Binding }" Value="9">
<Setter TargetName="Background" Property="Background" Value="Green"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=lst, Mode=OneWay}" Value="7">
<Setter TargetName="Background" Property="Background" Value="blue"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
<DataTemplate x:Key="DataTemplate_Level1">
<ItemsControl ItemsSource="{Binding}" ItemTemplate="{DynamicResource DataTemplate_Level2}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DataTemplate>
</Window.Resources>
<DockPanel>
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="1*" />
<RowDefinition Height="30" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20" />
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="20" />
</Grid.ColumnDefinitions>
<Grid KeyDown="OnKeyDownHandler" Grid.Column="1" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center">
<ItemsControl Grid.Row="1" Grid.Column="1" x:Name="lst" ItemTemplate="{DynamicResource DataTemplate_Level1}"/>
</Grid>
<WrapPanel Grid.Column="1" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center">
<Button Content="Start" Click="Start_Click" FontSize="15" MinHeight="30" MinWidth="90"/>
<Button Content="Suggestion" Click="Suggestion_Click" FontSize="15" MinHeight="30" MinWidth="90"/>
<Button Content="Exit" Click="Back_Click" FontSize="15" MinHeight="30" MinWidth="90"/>
</WrapPanel>
</Grid>
</DockPanel>
nun alle Informationen in der „lst“ aus einer 2D-Liste Ich erhalte das ist in meinem Modell gespeichert. Während der Laufzeit, wenn ich einen Wert in der Liste ändere, erscheinen die Änderungen überhaupt nicht im Grid.
Wie kann ich sicherstellen, dass dies passiert?
Dies ist die Bindelinie in CS-
viewModel.Command(gen);
InitializeComponent();
lst.ItemsSource = viewModel.VM_Maze;
public List<List<int>> VM_Maze
{
get { return model.Maze; }
}
Ich weiß nicht, warum Änderungen in der Liste sind nicht in der Gui reflektiert werden. Kann mir bitte jemand helfen?
Dank
Verwenden ObservableCollection statt List, Listen werden nicht über Änderungen auf ihrem Inhalt informieren. – Gusman