在尝试回答" 单元测试WPF绑定 " 附近的问题时,我遇到了以下琐碎的问题.
如果您的WPF数据绑定布线设置不正确(或者您刚刚破坏了正确接线的东西),最好的方法是什么? ?
虽然单元测试方法似乎就像Joel的"扯掉你的手臂去除碎片"......我正在四处寻找更容易,更少的开销方式来检测这一点.
每个人似乎都已经在WPF中大力宣传数据绑定......它确实有其优点.
在.NET 3.5中,它引入了一种新方法来专门输出有关特定数据绑定的跟踪信息.
这是通过新的System.Diagnostics.PresentationTraceSources.TraceLevel附加属性完成的,您可以将该属性应用于任何绑定或数据提供程序.这是一个例子:
这将在Visual Studio的输出窗口中为该特定绑定提供跟踪信息,而无需任何跟踪配置.
我能找到最好的......
由于每个人都不能一直关注输出窗口寻找绑定错误,我喜欢选项#2.将其添加到App.Config中
将其与良好的正则表达式扫描脚本配对以提取相关信息,您可以偶尔在输出文件夹中的GraveOfBindErrors.txt上运行
System.Windows.Data Error: 35 : BindingExpression path error: 'MyProperty' property not found on 'object' ''MyWindow' (Name='')'. BindingExpression:Path=MyProperty; DataItem='MyWindow' (Name=''); target element is 'TextBox' (Name='txtValue2'); target property is 'Text' (type 'String')
您可以使用WPF Inspector的触发器调试功能.只需从codeplex下载该工具并将其附加到正在运行的应用程序即可.它还显示窗口底部的绑定错误.非常有用的工具!