Как я могу отлаживать привязки данных Windows Runtime?
Какие методы существуют для отладки проблем с привязкой данных в приложении стиля Metro в Windows? Существуют ли методы, доступные для приложений WPF и Silverlight, описанные по адресу:
EDIT: Я изначально спрашивал о методах отладки привязки данных WinRT, чтобы я мог устранить проблему, описанную в Метро: почему привязка с XAML к свойство, определенное в коде, не работает?. В итоге я нашел решение, но, экспериментируя с рабочим решением, я не видел никаких сообщений в окне вывода Visual Studio 11, когда я намеренно ошибся с именем свойства так что он не будет найден. Также не представляется, что PresentationTraceSources
доступно для приложений WinRT.
Ответы
Ответ 1
Другое возможное решение:
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
Ответ 2
Если вы посмотрите на окно вывода в VS, вы увидите сообщения об ошибках привязки данных к ошибкам. Вы автоматически получаете это для приложений на С++, а для управляемых приложений вы должны включить неуправляемую отладку, чтобы увидеть их. Это область, которую мы хотим улучшить, но на данный момент у вас есть возможность включить их и увидеть результаты трассировки.
Ответ 3
В VS11 beta шаблонные проекты предлагают способ помочь отлаживать ошибки привязки.
Я написал его здесь http://www.kelvinhammered.com/?p=150
Ответ 4
Я всегда использую немедленное окно для отслеживания проблем с привязкой.
Вот что говорит msdn об этом:
В некоторых конфигурациях настроек, уведомления об исключениях с первого раза отображаются в окне Immediate.
Чтобы переключить уведомления об исключении из первой возможности в окне "Немедленное" В меню "Вид" выберите "Другие Windows" и нажмите "Выход".
Щелкните правой кнопкой мыши текстовую область окна "Вывод" и выберите или отмените выбор исключений.
(на самом деле настройка по умолчанию для меня была в vs2010)
надеюсь, что это может помочь.