C# 如何删除绑定到decimal的文本框的默认初始值

C# 如何删除绑定到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} 你可以用

有哪些选项可以删除绑定到decimal属性的textbox中的默认初始值0

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更改为