如何调试Windows运行时数据绑定?

时间:2011-12-26 22:49:00

标签: wpf debugging xaml data-binding windows-runtime

在Windows Metro风格的应用程序中,有哪些技术可用于调试数据绑定问题?有没有像WPF和Silverlight应用程序那样的技术,如下所述:

编辑:我最初询问的是WinRT数据绑定调试技术,以便我可以解决Metro: Why is binding from XAML to a property defined in code-behind not working?中描述的问题。我最终找到a solution来解决这个问题,但是在尝试使用工作解决方案时,我没有在Visual Studio 11输出窗口中看到任何消息,因为我故意拼写错误的属性名称,以便找不到它。 WinRT应用程序似乎也没有PresentationTraceSources

4 个答案:

答案 0 :(得分:9)

另一种可能的解决方案:

sealed partial class App : Application
{
    public App()
    {
        this.InitializeComponent();
        this.Suspending += OnSuspending;
        DebugSettings.BindingFailed += OnDebugSettingsOnBindingFailed;
    }

    private void OnDebugSettingsOnBindingFailed(object sender, BindingFailedEventArgs args)
    {
        new MessageDialog(args.Message).ShowAsync();
    }
    ...
}

原始来源:http://www.tozon.info/blog/post/2012/07/23/Debugging-WinRTXAML-bindings.aspx

答案 1 :(得分:6)

如果查看VS中的输出窗口,您将看到有关错误的数据绑定跟踪消息。您可以自动获得C ++应用程序和托管应用程序,您必须打开非托管调试才能看到它们。这是我们希望改进的领域,但是现在您可以打开它们并查看跟踪输出。

答案 2 :(得分:2)

在VS11 beta中,模板化项目提供了一种帮助调试绑定错误的方法。

我在这里写了http://www.kelvinhammered.com/?p=150

答案 3 :(得分:1)

我总是使用即时窗口来跟踪绑定问题。

这是msdn所说的:

  

在某些设置配置中,第一次机会异常通知   显示在立即窗口中。

     

在立即窗口中切换第一次机会异常通知   在“视图”菜单上,单击“其他Windows”,然后单击“输出”。

     

右键单击“输出”窗口的文本区域,然后选择或   取消选择异常消息。

(事实上默认设置对于我来说在vs2010中没问题)

希望这可以提供帮助。