大家好,我希望你们做得很好!
我有一个datagrid的问题,我想把它放在datagrid单元格中,例如:“/ 100”其中'100'是我的数据库中使用实体框架的库存数量,我想这样做,以便用户点击多少他希望在标签/ textBlock之外的文本框中的项目如下:
DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBox materialDesign:HintAssist.Hint="0"/>
<TextBlock Text="{Binding ElementName=productQuantityStock}" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
我希望你们明白我想做什么,请注意我的英语不好
在代码隐藏中,您需要绑定上下文。上下文将需要属性和字段,以便可以更新值。您还应该使用一种方法来通知视图该属性已更新。
后面的代码看起来像这样。
public class DataContextOfView
{
private int _productQuantityStock;
// Because you'll be working with values of type int you should make it an int
public int ProductQuantityStock
{
get { return _productQuantityStock;}
set { if(_productQuantityStock != value)
{
_productQuantityStock = value
// notify that the value of the property has changed.
OnPropertyChanged(nameof(ProductQuantityStock));
}
}
}
}
视图中的代码应该具有对该属性的引用
DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBox materialDesign:HintAssist.Hint="0"/>
<TextBlock Text="{Binding ProductQuantityStock, UpdateSourceTrigger=PropertyChanged}" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>