gpt4 book ai didi

c# - 将 TextBox 多绑定(bind)值绑定(bind)到另一个属性

转载 作者:行者123 更新时间:2023-12-03 10:44:18 28 4
gpt4 key购买 nike

这是我的实体类

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");
}
}
}

这是我的 View 模型类
public class ItemViewModel
{
private List<Item> _itemCollection;

public List<Item> ItemCollection
{
get { return _itemCollection; }
set
{
_itemCollection = value;
OnPropertyChanged("ItemCollection");
}
}
}

这是 xml

<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>


我在 上面绑定(bind)了项目集合 列表到数据网格。我在数据网格中有一个 TextBox 列,该文本框包含转换器以减去两个值(StockIn - StockOut)以获得剩余库存数量(转换器工作正常)。

此文本框值可以更新。

我想要做的是我想用更新的文本框值来更新数据库。为此,我想将此文本框值绑定(bind)到 新股 属性(property)。如何使用 MVVM 数据绑定(bind)来做到这一点

最佳答案

我认为在转换器中做一些“业务”逻辑不是一个好主意。您应该准备一个更好的 View 模型。 View 模型应由具有剩余库存数量的附加属性的项目组成。
我不知道您想要实现什么,但看起来您可以进行一些计算(在检索数据时)将减去的值存储在 NewStock 属性中,然后将其绑定(bind)到 TextBox。

关于c# - 将 TextBox 多绑定(bind)值绑定(bind)到另一个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34707779/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com