私はこのリストビューとボタンを持っています:
<ListView x:Name="MyList" ItemsSource="{Binding}" Grid.Row="1"></ListView>
<Button x:Name="Add" Content="Add Item" Click="Add_Click" Grid.Row="2" />
文字列のリストを初期化し、ListView に割り当てます。
List<string> names;
private void FillListView()
{
names = new List<string>();
names.Add("Foo");
MyList.DataContext = names;
}
private void Add_Click(object sender, RoutedEventArgs e)
{
MyList.Items.Add("Bar");
}
ListView にもう 1 つの文字列を追加するハンドラーもありますが、ボタンをクリックすると、Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED)) が発生します。
次のように、新しい文字列をコレクションに直接追加することも試みました。
private void Add_Click(object sender, RoutedEventArgs e)
{
names.Add("Bar");
}
この場合、ListView は更新されず、タッチすると、Value が例外範囲 0x80070057 内に収まりません。
コレクションを ListView にバインドしてから項目を追加するにはどうすればよいですか?