0

基本上我的主窗口中有以下内容:

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

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

4

1 回答 1

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

 ObservableCollection<ViewModel> Environment

并用成对的 SomeString 和 SomeInt 对其进行实例化

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

    MyUserControl.DataContext =  Environment;
于 2012-12-04T13:39:06.470 回答