【发布时间】:2016-08-22 11:43:03
【问题描述】:
我想将数据网格中的所有文本框绑定到字符串列表。我不知道怎么做。 我在一列数据网格中有文本框:
<DataGrid ItemsSource="{Binding Data}">
<DataGridTextColumn Binding="{Binding Title}" Header="Title" IsReadOnly="True">
DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Width="60" Text="{Binding DataList, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"></TextBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGridTextColumn>
</DataGrid>
在 ViewModel 中:
public ObservableCollection<DataObject> Data //datasource
{
get { return _data;}
set { _data = value; OnPropertyChanged(nameof(Data)); }
}
public ObservableCollection<string> DataList //here must be data from textboxes
{
get { return _dataList; }
set { _dataList = value; OnPropertyChanged(nameof(DataList)); }
}
为简单起见,我没有在这里写命令调用。命令的实际操作方法是 DataList 属性仍然为空。
谢谢
【问题讨论】:
-
您需要将
DataList移动为Data的Typestring内DataObject。这就是ViewModel这个名字的含义。