gpt4 book ai didi

c# - 当 WPF 中的绑定(bind)为 null 时,如何避免 xaml 警告?

转载 作者:行者123 更新时间:2023-12-02 00:14:08 24 4
gpt4 key购买 nike

在我的 WPF 应用程序中,我有一个样式,当绑定(bind)对象不为空时,它会用图像画笔填充矩形。该样式按照我预期的方式工作,但是当 Binding 为 null 时,我会收到有关 ImageBrush setter 值的警告。我希望我可以使用转换器或空触发器来避免这种情况,但是我仍然收到警告。有没有一种方法可以绑定(bind)到一个对象并检查它在 xaml 中是否为 null,而不会在输出窗口中收到警告?

        <Style TargetType="Rectangle" x:Key="LightHeadRectangle">
<Setter Property="Fill" Value="Red" />
<Style.Triggers>
<DataTrigger Binding="{Binding BarLight, Converter={StaticResource isNullConverter}}" Value="false">
<Setter Property="Fill">
<Setter.Value>
<ImageBrush Stretch="Fill" ImageSource="{Binding BarLight.OpenMount.ImagePath}" />
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>​

更新:希望阻止发生通用空警告,但在这种情况下我收到的具体警告是。

System.Windows.Data 错误:2:找不到目标元素的管理 FrameworkElement 或 FrameworkContentElement。 BindingExpression:Path=BarLight.OpenMount.ImagePath;数据项=空;目标元素是“ImageBrush”(HashCode=47952502);目标属性是“ImageSource”(类型“ImageSource”)

更新:

注意到我正在使用此样式来定位多个列表框项数据模板可能会有所帮助。另外 BarLight 最初为 null。

最佳答案

据我所知,您无法在代码中关闭它们,但如果您使用的是 Visual Studio,则可以在其中关闭它们。

  1. 转到“工具”->“选项”
  2. 在“调试”下(左侧 Pane 中),转到“输出窗口”
  3. 在“WPF 跟踪设置”(位于右侧 Pane 中)下,找到“数据绑定(bind)”并将其值设置为“关闭”

话虽如此,绑定(bind)在 XAML 中默默失败是完全可以接受的。失败的绑定(bind)不会引发异常,因此不会对最终用户产生影响(只要您(开发人员)意味着在不影响用户体验的某些情况下绑定(bind)会失败) 。

警告只是作为开发人员的一种调试机制,以防他们预计绑定(bind)会失败。我不建议关闭此功能。

关于c# - 当 WPF 中的绑定(bind)为 null 时,如何避免 xaml 警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29287120/

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