Любая причина, почему PresentationTraceSources.TraceLevel = High не будет печатать какую-либо информацию в окне вывода? - PullRequest
20 голосов
/ 10 мая 2010

Я пытался разобраться в проблеме с привязкой SelectedItem моего ComboBox, и, поскольку у меня не было успеха, поэтому я начал искать способы получения более подробной информации отладки, установив PresentationTraceSources. TraceLevel = High для определенных привязок. К сожалению, после этого я не вижу связанных элементов в окне Ouput в категории «Отладка».

Я использую Visual Studio 2010, и мой проект представляет собой проект WinForms с интенсивным использованием взаимодействия с использованием ElementHost для размещения содержимого WPF. Все связанные проекты в настоящее время строятся для .NET 3.5. Будем благодарны за любые мысли или предложения, которые могут привести меня к решению увидеть дополнительную информацию о трассировке в окне вывода.

Ниже приведен фрагмент кода, который я использую.

<ComboBox xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
            SelectedItem="{Binding Path=MyCollection.SelectedItem, Mode=TwoWay, diagnostics:PresentationTraceSources.TraceLevel=High}"
            ItemsSource="{Binding MyCollection, diagnostics:PresentationTraceSources.TraceLevel=High}"
            SelectedValuePath="Value"
            DisplayMemberPath="Value.DisplayName" />

Ответы [ 2 ]

30 голосов
/ 09 июня 2010

Это настройка в Visual Studio 2010:

Инструменты -> Параметры -> Отладка -> Окно вывода -> Настройки трассировки WPF - > Привязка данных -> установить на Предупреждение (или что угодно).

Стандарт выключен.

Это решение сработало для меня.

2 голосов
/ 14 июля 2010

Убедитесь, что ваш DataContext не нулевой.Если это так, никакая информация не будет зарегистрирована в окне вывода

...