在我的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变量中允许空值。我该怎么做这两项任务。 非常感谢提前!!
答案 0 :(得分:3)
您希望能够为您的属性设置一个空值,但是double不支持此值:零不为空值,它为零。如果您希望能够获得空值,您可能希望您的属性可以为空 - 因此您应该将其声明为double?
。
这可能也会解决您的第二个问题:该属性未设置为空值,因为空值无法转换为double
。