1

在我的 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 变量中允许空值。我怎样才能完成这两个任务。提前谢谢了!!

4

1 回答 1

3

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

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

于 2013-08-14T10:00:08.420 回答