绑定到Dictionary<,>时,无法从DataGrid中删除记录。

时间:2011-09-29 09:55:17

标签: wpf binding 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>

为什么不让我删除行? :(

1 个答案:

答案 0 :(得分:1)

它不起作用,因为Dictionary没有实现IEditableCollectionView。 here是对数据网格编辑功能的一个很好的概述。

但你可以自己删除。使用数据网格中的参数选定项创建一个命令,并自行从字典中删除项目。此时你应该考虑使用ObservableCollection作为intemssource,因为通知视图。