私のプログラムにはDataGrid
、UserControl の一部である があります。このグリッドのセルの値を変更して、データ モデルに保存できるようにしたいと考えています。これは、標準のデータ バインドtextBox
が wpf でどのように機能するかに似ています。
はesDataGrid
で構成されています。TextBox
セルの値を変更することはできますが、ページから移動すると消えます。
ユーザー コントロール XAML:
<DataGrid ItemsSource="{Binding DataModel.Collection}" ... >
<DataGrid.Columns>
<DataGridTemplateColumn IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding rowNum}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
.......
</DataGrid>
データ・モデル:
public class Data_Model : PropertyChangedBase
{
private string one = "One";
private string two = "Two";
private string three = "Three";
private string four = "Four";
private string a = "A";
private string b = "B";
private string c = "C";
private string d = "D";
private ObservableCollection<Class> _Collection;
public Data_Model()
{
Collection = new ObservableCollection<Class>();
Collection.Add(new Class() { rowNum = 0, input = one, output = a });
Collection.Add(new Class() { rowNum = 1, input = two, output = b});
Collection.Add(new Class() { rowNum = 2, input = three, output = c});
Collection.Add(new Class() { rowNum = 3, input = four, output = d});
}
public ObservableCollection<Class> Collection {...}
}
public class Class //Class for DataGrid values
{
public int rowNum { set; get; }
public string input { set; get; }
public string output { set; get; }
}
ユーザーが入力した値を通常のようにこれらのセルに格納するにはどうすればよいですか (string
のテキストとして機能するプロパティを記述することによってtextBox
) ?