【发布时间】:2015-04-26 20:58:33
【问题描述】:
请让我开始追踪此错误
问题是我绑定到很多 FieldValue 并且显然并非所有都失败了,否则我会收到更多这些错误
如何找到引发这些警告的 XAML 绑定?
哈希是否指向特定的绑定?
System.Windows.Data Warning: 56 : Created BindingExpression (hash=44291519) for Binding (hash=2717082)
System.Windows.Data Warning: 58 : Path: 'FieldValue'
System.Windows.Data Warning: 56 : Created BindingExpression (hash=4012957) for Binding (hash=2717082)
System.Windows.Data Warning: 58 : Path: 'FieldValue'
System.Windows.Data Warning: 62 : BindingExpression (hash=4012957): Attach to System.Windows.Controls.TextBox.Text (hash=30313526)
System.Windows.Data Warning: 67 : BindingExpression (hash=4012957): Resolving source
System.Windows.Data Warning: 70 : BindingExpression (hash=4012957): Found data context element: TextBox (hash=30313526) (OK)
System.Windows.Data Warning: 78 : BindingExpression (hash=4012957): Activate with root item DocFieldDecimalSV (hash=12144638)
System.Windows.Data Warning: 107 : BindingExpression (hash=4012957): At level 0 using cached accessor for DocFieldDecimalSV.FieldValue: RuntimePropertyInfo(FieldValue)
System.Windows.Data Warning: 104 : BindingExpression (hash=4012957): Replace item at level 0 with DocFieldDecimalSV (hash=12144638), using accessor RuntimePropertyInfo(FieldValue)
System.Windows.Data Warning: 101 : BindingExpression (hash=4012957): GetValue at level 0 from DocFieldDecimalSV (hash=12144638) using RuntimePropertyInfo(FieldValue): <null>
System.Windows.Data Warning: 80 : BindingExpression (hash=4012957): TransferValue - got raw value <null>
System.Windows.Data Warning: 82 : BindingExpression (hash=4012957): TransferValue - user's converter produced ''
System.Windows.Data Warning: 89 : BindingExpression (hash=4012957): TransferValue - using final value ''
我想我已经找到了
获取对 Get 的调用,如果结果是十进制?(空),然后是“获取原始值”的错误
然后它调用转换器
public object Convert(object value, Type targetType, object parameter,
CultureInfo culture)
{
Debug.WriteLine("DecimalNullConverter Convert");
Decimal? Decimal = (Decimal?)value;
if (Decimal == null)
return string.Empty;
return Decimal.ToString();
}
然后是最后两行
所以我认为绑定只是在调用转换后抛出这些错误以获得 String.Emply
所以我认为他们警告我可以忽略
我真的认为会有一种直接的方法来查看是什么绑定引发了警告
【问题讨论】:
-
您使用的是哪个版本的 Visual Studio?
-
绑定表达式和datacontext对象会很好
-
@blindmeis 是的,绑定表达式会很好。我的问题是如何找到它?
-
你有没有写你的xaml?创建一个有这个错误的示例项目,我们可以看看它
-
@blindmeis 什么?当我不知道错误来自哪里时,我应该如何编写一个程序来重新创建错误?我声明我经常绑定到 FieldValue,但显然并非所有都失败了。
标签: .net wpf visual-studio-2013 binding error-handling