首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在向工作的WPF绑定提供FallbackValue以消除警告方面有什么用处?

在向工作的WPF绑定提供FallbackValue以消除警告方面有什么用处?
EN

Stack Overflow用户
提问于 2019-02-11 16:57:59
回答 1查看 353关注 0票数 1

今天,我测试了一个工作良好的UserControl。一时兴起,我将“数据绑定”的输出窗口WPF跟踪设置从“警告”更改为“全部”,并再次进行测试,以查看所缺少的内容。

正如您可能预期的那样,我的输出窗口确实开始填充大量的消息。例如

System.Windows.Data信息: 10 :无法使用绑定检索值,并且不存在有效的回退值;使用默认值代替。BindingExpression:Path=Image;DataItem=null;目标元素是‘ImageSource’(名称=‘CurrentImage’);目标属性是'Source‘(键入'ImageSource')

别小题大作。我知道这个装订很管用。我的图像显示得很好,但这是相关的XAML

代码语言:javascript
复制
<!--Image is drawn first, underneath everything else.

<Image x:Name="CurrentImage" 
       Canvas.Left="0" Canvas.Top="0"
       Source="{Binding Image}"
       Loaded="CurrentImage_OnLoaded"
       />

为了满足我的好奇心,我决定尝试用一个后备值来消除这个消息,看看是否有任何效果。我当然能够使用x:Null (我想我也可以使用静态资源imagesource.)

代码语言:javascript
复制
<Image x:Name="CurrentImage" 
       Canvas.Left="0" Canvas.Top="0"
       Source="{Binding Image, FallbackValue={x:Null}}"
       Loaded="CurrentImage_OnLoaded"
       /> 

信息消失了,控制起作用了.和以前一样。

(这可能是一个很糟糕的例子,因为它不是“警告”,但我偶尔也会有“警告”甚至“错误”级别的消息出现在其他部分,这些消息同样总是正常工作的。)

所以我想知道:用默认值消除这些消息有什么真正的价值吗?如果我经常这样做,WPF会更快或者更好吗?

或者是否有某种消息级别的(警告、错误、关键信息),在此我应该将其作为我的任务,并在此之后我应该忽略这些?

还是我应该回到真正的问题上,逐个案例来看待这些问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-12 13:14:31

用默认值消除这些消息有什么真正的价值吗?

不是的。

如果我经常这样做,WPF会更快或者更好吗?

您应该消除代码/标记中的任何实际绑定错误,让框架来处理其余的问题。该框架确实会产生一些无害的绑定错误,除了ignoring or supress them,您无法对这些错误做太多的工作。

还是我应该回到真正的问题上,逐个案例来看待这些问题?

是。没有理由专注于解决那些你一开始就不负责的非问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54635487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档