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 に答える