【问题标题】:How do you debug "value produced by BindingExpression is not valid for target property" errors?如何调试“BindingExpression 生成的值对目标属性无效”错误?
【发布时间】:2011-06-22 13:05:34
【问题描述】:

当我运行我的应用程序时,我在程序输出中得到以下信息。当我搜索我的应用程序时,我找不到任何名为“btnOpen”的时间。

我知道这些绑定错误是因为某些绑定属性将 null 返回到 tooltip.name。但是,这是在我的程序中、引用的库还是其他什么?我如何追踪这些?我不知道也找不到 btnOpen 或 btnPrint。我的打印按钮甚至不使用工具提示。

System.Windows.Data 错误:5:BindingExpression 生成的值对目标属性无效。;值=''绑定表达式:路径=工具提示; DataItem='按钮'(名称='btnOpen');目标元素是“按钮”(名称=“btnOpen”);目标属性是“名称”(类型“字符串”)

System.Windows.Data 错误:5:BindingExpression 生成的值对目标属性无效。;值=''绑定表达式:路径=工具提示;数据项='按钮'(名称='btnPrint');目标元素是“按钮”(名称=“btnPrint”);目标属性是“名称”(类型“字符串”)

【问题讨论】:

  • 这没有意义。您是否尝试在文件中搜索/查找这些名称“btnOpen”。 ctrl+alt+f 打开搜索窗口...我也把这个作为答案...
  • 共享绑定 xaml sn-p ?
  • 原来是来自第三方 dll 的 xaml 错误。这是我无法解决的问题。

标签: c# .net wpf binding


【解决方案1】:

如果您在命名控件时不使用匈牙利符号,这可能是btnOpen 不是您项目的一部分的第一个线索。您是否使用任何第三方控件?如果是这样,请打开 Reflector 中的库,看看是否可以找到对 btnOpen 的任何引用。那就是我要去的地方。

【讨论】:

    【解决方案2】:

    元素已命名,因此请在您的解决方案中搜索 btnOpenbtnPrint,因为它们是具有绑定的元素。

    【讨论】:

      猜你喜欢
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 2017-12-02
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 2013-10-14
      相关资源
      最近更新 更多