当 DataGrid 绑定到 Dictionary<,> 时,无法从 DataGrid 中删除记录
我有一些带有数据的字典。我将它用作 WPF DataGrid 的 ItemsSource。
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("1st", "entry");
dic.Add("2nd", "entry 2");
dic.Add("3rd", "entry 3");
dataGrid1.ItemsSource = dic;
<DataGrid Name="dataGrid1" CanUserDeleteRows="True" AutoGenerateColumns="True">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Key}"/>
<DataGridTextColumn Binding="{Binding Path=Value}"/>
</DataGrid.Columns>
</DataGrid>
为什么它不允许我删除行? :(
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它不起作用,因为 Dictionary 没有实现 IEditableCollectionView。 这里很好地概述了数据网格的编辑功能。
但您可以自行删除。使用参数从数据网格中选择项目创建命令,并自行从字典中删除项目。此时你应该考虑使用 ObservableCollection 作为 intemssource,因为通知视图。
it does not work because Dictionary do not implement IEditableCollectionView. here is a nice overview for the editing features of the datagrid.
but you can do the deleting by your self. Create a command with parameter selected items from your datagrid and delete the items from your dictionary by your self. at this time you should think about using a ObservableCollection as an intemssource because of notifying the view.