我有这个列表视图和一个按钮:
<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 添加一个字符串,但是当我单击按钮时,我得到了Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))。
我也尝试将新字符串直接添加到集合中,如下所示:
private void Add_Click(object sender, RoutedEventArgs e)
{
names.Add("Bar");
}
在这种情况下, ListView 没有更新,当我触摸它时,我得到Value does not fall in the exception range 0x80070057。
如何将集合绑定到 ListView,然后添加更多项目?