gpt4 book ai didi

c# - 在 WPF 中绑定(bind)高度和宽度时如何减少绑定(bind)异常的计数?

转载 作者:太空宇宙 更新时间:2023-11-03 11:05:40 25 4
gpt4 key购买 nike

我想将项目的宽度和高度绑定(bind)到模型。

某些项目的宽度和高度是指定的,但大多数项目应设置为“自动”模式。

所以我创建了带有属性的模型:

    public double? Height
{
get
{
return this.height;
}

set
{
this.height = value;
this.OnPropertyChanged("Height");
}
}

然后我将它绑定(bind)到我的 View 。

如果 height == null 我的控件大小设置为自动,这没问题。但我有异常(exception):

    System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property.; Value='<null>' BindingExpression:Path=Height;
target property is 'Height' (type 'Double')

如何强制我的控件将高度设置为“自动”并避免生成异常?

最佳答案

我相信这就是 TargetNullValue 属性在绑定(bind)实验中的用途:

Height="{Binding Height, TargetNullValue=auto}"

这应该可以满足您的需要。您还可以编辑 get 方法来处理 null 事件,但您可能必须将数据类型更改为对象才能返回 auto:

public object Height
{
get
{
if (this.height == null) return "auto";
return this.height;
}
set
{
this.height = value;
this.OnPropertyChanged("Height");
}
}

关于c# - 在 WPF 中绑定(bind)高度和宽度时如何减少绑定(bind)异常的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15951602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com