C# 如何删除绑定到decimal的文本框的默认初始值
有哪些选项可以删除绑定到decimal属性的textbox中的默认初始值0C# 如何删除绑定到decimal的文本框的默认初始值,c#,wpf,vb.net,C#,Wpf,Vb.net,有哪些选项可以删除绑定到decimal属性的textbox中的默认初始值0 private decimal _Quantity; public decimal Quantity { get { return _Quantity; } set { _Quantity = value; OnPropertyChanged("Quantity"); } } xaml代码 textbox text={Binding Quantity} 你可以用
private decimal _Quantity;
public decimal Quantity
{
get { return _Quantity; }
set { _Quantity = value; OnPropertyChanged("Quantity"); }
}
xaml代码
textbox text={Binding Quantity}
你可以用这样的风格
<TextBox>
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding Quantity}" Value="0">
<Setter Property="Text" Value="" />
</DataTrigger>
</Style.Triggers>
</Style>
<TextBox.Style>
<TextBox>
将属性类型更改为decimal?
应该可以工作-这允许您明确区分“尚未填写”(null
)和“已填写0”(0
)。但这是一个UI要求。为什么要更改它的数据类型?@Muds:因为UI通常反映程序的状态,“尚未填充”显然是一种有效状态,不能仅用decimal
属性表示。嗯,除非值0
被赋予特殊含义,但我认为这会使事情变得太模糊。不起作用。错误2无法解析样式属性“Text”。验证所属类型是否为样式的TargetType,或使用Class.Property语法指定属性。第233行位置53。将此样式放入文本框。style@ConfuseD:将开头的
标记更改为
应该可以正常工作。或者,您可以将setter更改为
。