我有一个数据绑定问题(一个单独的问题),通常当我编码时,我可以使用调试器逐步执行,并点击断点.可能一个简单的问题花了我一整天,没有解决方案(现在变得非常沮丧),因为我不知道如何在我的XAML数据绑定上"运行调试器".
如果有人能解释如何做到这一点,将不胜感激.
我不知道VS是否提供了一种调试绑定的简单方法,但我通常使用Snoop来调试绑定
它是一个工具,将通过WPF应用程序,并为您提供应用程序的Visual Tree的TreeView.您可以选择一个元素来查看它的DataContext和其他属性.如果存在任何绑定错误,则通常会突出显示该属性,并说明错误是什么.如果绑定失败,因为该属性不存在,我通常可以跟踪DataContext并找出我在绑定中出错的地方.
添加一个虚拟转换器
<local:DebuggerConverter x:Key="DebuggerConverter" />
<TextBlock Text={Binding ToSomething, Converter={StaticResource DebuggerConverter}} />
Run Code Online (Sandbox Code Playgroud)
转换器
public class DebuggerConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
// Set breakpoint here
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
// Set breakpoint here
return value;
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)
或使用它并查看您的输出窗口
<Window xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase">
<TextBlock Text="{Binding ToSomething, diagnostics:PresentationTraceSources.TraceLevel=High}" />
</Window>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
1440 次 |
| 最近记录: |