好的,仍然不是很清楚,但我会尝试提供一些答案......
这就是我对问题的理解:您有一个名为“Order”的Order'类型的属性,并且想要在数据网格中编辑此属性,例如使用组合
假设您有一个这样的实体类(所有代码 - 只是示例,因为我不知道您拥有的确切类):
class Something : EntityBase {
................
public int Order { get; set; }
................
}
它用数据模型包装,如:
public SomethingModel : EntitydataModelBase<Something> {
................
public int Order {
get {
return this.Entity.Order;
}
set {
if (this.Entity.Order == value) return;
this.Entity.Order = value;
NotifyPropertyChanged("Order");
}
}
................
}
此外,还有一个带有数据网格的屏幕视图模型,如下所示:
public SomethingListViewModel : ViewModelBase {
................
public IList<SomethingModel> _Items;
public IList<SomethingModel> Items {
get {
return _Items;
}
private set {
if (_Items == value) return;
_Items = value;
NotifyPropertyChanged("Items");
}
}
................
}
最后是你的 XAML:
................
<Grid x:Name="gridContainer"> <!-- We will use this name to make a reference in binding expression --!>
<DataGrid
ItemsSource="{Binding Items, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
<DataGrid.Columns>
<!-- "Actually, don't remember a name of class for tempolated column" -->
<DataGridTemplatedColumn
Header="Order">
<DataGridTemplatedColumn.CellTemplate>
<DataTemplate>
<TextBox
Text="{Binding Order, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplatedColumn.CellTemplate>
</DataGridTemplatedColumn>
</DataGrid.Columns>
</DataGrid>
................
希望这会有所帮助,如果没有,请提供您的示例代码,我会尝试添加一些基于它的示例