【发布时间】:2016-01-10 16:20:43
【问题描述】:
这是我的实体类
public class Item
{
private int _stockIn;
private int _stockOut;
private int _newStock;
public int StockIn
{
get { return _stockIn; }
set
{
_stockIn = value;
OnPropertyChanged("StockIn");
}
}
public int StockOut
{
get { return _stockOut; }
set
{
_stockOut = value;
OnPropertyChanged("StockOut");
}
}
public int NewStock
{
get { return _newStock; }
set
{
_newStock = value;
OnPropertyChanged("NewStock");
}
}
}
这是我的视图模型类
public class ItemViewModel
{
private List<Item> _itemCollection;
public List<Item> ItemCollection
{
get { return _itemCollection; }
set
{
_itemCollection = value;
OnPropertyChanged("ItemCollection");
}
}
}
这是 xaml
<DataGrid ItemsSource="{Binding EntityCollection}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="New Stock">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox>
<TextBox.Text>
<MultiBinding Converter="{StaticResource SubstractValuesConverter}">
<Binding Path="StockIn"/>
<Binding Path="StockOut"/>
</MultiBinding>
</TextBox.Text>
</TextBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
我已将上面的 ItemCollection 列表绑定到数据网格。我在数据网格中有一个 TextBox 列,该文本框包含转换器以减去两个值(StockIn - StockOut)以获得剩余库存数量(转换器工作正常)。
此文本框值可以更新。
我想做的是用更新的文本框值更新数据库。为此,我想将此文本框值绑定到 NewStock 属性。如何使用 MVVM 数据绑定来做到这一点
【问题讨论】:
-
对不起!我在编写这个任务时犯了一个错误。在 xaml 文件中 datagrid ItemsSource 应该是 ItemsSource="{Binding ItemCollection}"