2012-06-01 7 views
9

В Silverlight 5 beta I could debug databinding directly in XAML. Где эта функция в Visual Studio 2012 (RC)? Могу ли я сделать это с помощью WPF, WinRT и/или Silverlight? Если да, то как? Когда я устанавливаю точку останова в приложении выражения привязки, я получаю сообщение о том, что точка останова не будет удалена, поскольку исходный код не связан с этой строкой.Отладка привязки данных XAML в Visual Studio 2012

Update:

Он работает в Visual Studio 2012 (RC) для Silverlight 5 приложений, но не для приложений WPF. Пожалуйста, не говорите мне, что эта функция не существует для WPF!

+1

У меня такая же проблема в RTM-версии Visual Studio 2012. См. [Этот вопрос] (http://stackoverflow.com/questions/12067841/no-xaml -связывающего отладка-с-контрольными точками-в-визуальному-студии-2012-МРВ-на-окна). – marcslogic

+0

Как насчет winrt/Window 8? – swinefeaster

ответ

16

Извините, что вам сообщили, что эта функция НЕ существует в WPF XAML и не существует в WinRT XAML. Я не могу найти официальный источник для WPF, но вот довольно официальный для WinRT (http://social.msdn.microsoft.com/Forums/en-US/toolsforwinapps/thread/fae53937-cb47-45da-b740-49f75f8d36e9/) он очень сильно намекает на то, что это усилие было сосредоточено исключительно командой Silverlight и, возможно, можно ожидать в будущих версиях WPF и WinRT ,

До сих пор лучшие методы отладки, которые я видел в следующем:

1) WinRT & WPF: Output Window Используя окно вывода с соответствующими параметрами включены, убедитесь Tools-> Options- > Debugging-> Вывод Window-> Data Binding = "Предупреждение" или что-то еще пригодится ...

enter image description here

2) WinRT & WPF: Используйте конвертер Использование преобразователя и просто установка точки останова внутри преобразователя. Или вы можете создать/использовать что-то подобное тому, как WinRT XAML Toolkit делает: http://winrtxamltoolkit.codeplex.com/.../WinRTXamlToolkit.Debugging/Converters/BindingDebugConverter.cs

3) WinRT: Используйте DebugSettings.BindingFailed

App.Current.DebugSettings.IsBindingTracingEnabled = true; 
App.Current.DebugSettings.BindingFailed += (s, e) => 
{ 
    // debug the failed binding here 
}; 

см: http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.debugsettings.bindingfailed для получения дополнительной информации

4) WPF: Использовать PresentationTraceSources.TraceLevel Прилагаемая собственность Дает подробный вывод привязки, см.: http://msdn.microsoft.com/en-us/library/system.diagnostics.presentationtracesources.tracelevel.aspx для получения дополнительной информации.

Я понимаю, что это старый вопрос, но я не мог найти хороший источник информации для всего XAML, нашел этот ответ у поисковой системы и заметил, что ответа по-прежнему не хватает. Это не помогает, что есть технически 3 версии XAML, идущих одним и тем же прозвищем. Итак, вот свалка всего, что я нашел, исследуя привязки отладки. Наслаждайтесь, надеюсь, что это поможет кому-то ... -ck

Смежные вопросы