我有一个数据绑定问题(一个单独的问题),通常当我编码时,我可以使用调试器来逐步通过,并达到中断点。什么可能是一个简单的问题,我一整天都没有解决(现在非常沮丧),因为我不知道如何在我的XAML数据绑定中“运行调试器”。有没有什么办法可以有效地调试WPF数据绑定?
如果有人可以解释如何做到这一点,将不胜感激。
我有一个数据绑定问题(一个单独的问题),通常当我编码时,我可以使用调试器来逐步通过,并达到中断点。什么可能是一个简单的问题,我一整天都没有解决(现在非常沮丧),因为我不知道如何在我的XAML数据绑定中“运行调试器”。有没有什么办法可以有效地调试WPF数据绑定?
如果有人可以解释如何做到这一点,将不胜感激。
为您的绑定添加虚拟值转换器。在值转换器内部放置一个断点。还要检查Visual Studio中的调试输出窗口是否有绑定错误。
您可以在Visual Studio的输出窗口中获得有关绑定错误的一些基本信息。它将显示绑定表达式路径错误和发生错误的行。
添加一个虚拟转换器
<local:DebuggerConverter x:Key="DebuggerConverter" />
<TextBlock Text={Binding ToSomething, Converter={StaticResource DebuggerConverter}} />
转换器
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
}
或使用,看看你的输出窗口
<Window xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase">
<TextBlock Text={Binding ToSomething, diagnostics:PresentationTraceSources.TraceLevel=High" />
</Window>
希望这有助于
,当我开始与WPF,这个是我面临调试我的绑定的主要问题。每次查看输出窗口并搜索绑定对于非常大的应用程序来说都很麻烦。然后,我遇到了这个优秀的文章与绑定的详细的了解 - http://bea.stollnitz.com/blog/index.php?s=presentationtrace
希望这可以帮助你太... :)
感谢所有伟大的答案的。大家+1。 – Sako73