如何在WPF中创建可编辑的DataGrid?

时间:2012-12-04 10:22:58

标签: c# .net wpf datagrid observablecollection

基本上我在MainWindow中有以下内容:

public ObservableCollection<KeyValuePair<string, int>> Environment { get; set; }

我希望将它绑定到数据网格,以便我可以编辑数据网格并更新Environment。具体来说,我希望能够添加新行,删除行和编辑单个单元格。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

在xaml中你可以写:

<DataGrid ItemsSource="{Binding}">
    <DataGrid.Columns>
        <DataGridTemplateColumn Header="SomeString">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding SomeString}"/>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
        <DataGridTemplateColumn Header="SomeInt>
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding SomeInt}"/>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>

在make后面的代码中: 数据类“DataClass”,包含SomeString和SomeInt字段 “ViewModel”类,继承INotifyPropertyChanged并使用“DataClass” 写:

 ObservableCollection<ViewModel> Environment

并使用SomeString和SomeInt

对其进行实例化

使用DataGrid Environment设置控制的datacontext:

    MyUserControl.DataContext =  Environment;