Это звучит довольно просто, но на самом деле мне потребовалось несколько часов, а все еще не сделано. Вот мой C# код:
public ItemEditor() {
InitializeComponent();
ListView_Item.ItemsSource = TestList;
}
List<Item> TestList = new List<Item>();
private void MenuItem_AddNewItem_Click(object sender, RoutedEventArgs e) {
Item newItem = new Item();
TestList.Add(newItem);
newItem.Name = "new item";
}
Когда выполняется функция MenuItem_AddNewItem_Click, список никогда не обновляется. Я не могу понять, как это может быть. И вот мой код xaml:
<Grid DockPanel.Dock="Left">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition Width="200"></ColumnDefinition>
</Grid.ColumnDefinitions>
<ListView x:Name="ListView_Item" Grid.Column="0" ContextMenu="{StaticResource ContextMenu_ListView_Item}" SelectionMode="Single">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Name}"></TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<GridSplitter Grid.Column="0" Width="5"/>
<StackPanel Grid.Column="1" Orientation="Vertical">
<DockPanel>
<TextBlock>Name:</TextBlock>
<TextBox></TextBox>
</DockPanel>
</StackPanel>
<GridSplitter Grid.Column="1" Width="5"/>
<Grid Grid.Column="2"></Grid>
</Grid>
Кто-нибудь может мне помочь? Я просмотрел множество веб-страниц, на них были похожие ситуации, но ни одна из них не может помочь мне решить мою проблему.