【问题标题】:How can I make an editable DataGrid in WPF?如何在 WPF 中制作可编辑的 DataGrid?
【发布时间】:2012-11-21 22:48:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# .net wpf datagrid observablecollection


    【解决方案1】:

    在 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 后面的代码中: 具有 SomeString 和 SomeInt 字段的数据类“DataClass” “ViewModel”类,继承 INotifyPropertyChanged 并使用“DataClass” 写:

     ObservableCollection<ViewModel> Environment
    

    并用 SomeString 和 SomeInt 对来实例化它

    使用 DataGrid 环境设置控件的数据上下文:

        MyUserControl.DataContext =  Environment;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 2013-11-03
      • 1970-01-01
      • 1970-01-01
      • 2013-07-30
      • 2011-03-26
      相关资源
      最近更新 更多