基本的に、メインウィンドウには次のものがあります。
public ObservableCollection<KeyValuePair<string, int>> Environment { get; set; }
Environment
データグリッドを編集して更新できるように、データグリッドにバインドしたいと思います。具体的には、新しい行を追加したり、行を削除したり、個々のセルを編集したりしたいと考えています。これどうやってするの?
基本的に、メインウィンドウには次のものがあります。
public ObservableCollection<KeyValuePair<string, int>> Environment { get; set; }
Environment
データグリッドを編集して更新できるように、データグリッドにバインドしたいと思います。具体的には、新しい行を追加したり、行を削除したり、個々のセルを編集したりしたいと考えています。これどうやってするの?
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;