默认情况下,0在文本框中显示为绑定为double

时间:2013-08-14 09:39:34

标签: wpf xaml binding textbox

在我的WPF应用程序中,我有一个文本框绑定到像这样的双重属性

<TextBox Text="{Binding Orientation, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>

,属性就像

    private double _orientation;
    public double Orientation
    {
        get { return _orientation; }
        set
        {
            _orientation = value;
            NotifyOfPropertyChange(() => Orientation);
        }
    }

当我加载对话框时,文本框显示默认值为0.0,这是我不想要的。我希望文本框显示为空。

此外,当我在文本框中选择所有文本并点击删除/退格(清除文本框中的所有文本)时,不会触发Set属性以在属性中设置任何内容。简而言之,我想在_orientation变量中允许空值。我该怎么做这两项任务。 非常感谢提前!!

1 个答案:

答案 0 :(得分:3)

您希望能够为您的属性设置一个空值,但是double不支持此值:零为空值,它为零。如果您希望能够获得空值,您可能希望您的属性可以为空 - 因此您应该将其声明为double?

这可能也会解决您的第二个问题:该属性未设置为空值,因为空值无法转换为double