Я пытался добраться до сути относительно проблемы с привязкой SelectedItem моего ComboBox и так как я имел не успех thusfar, я начал смотреть на способы получить более подробную отладочную информацию установкой PresentationTraceSources. TraceLevel=High для определенной привязки. К сожалению, после выполнения, таким образом, я не вижу связанных объектов в своем окне Ouput под категорией Debug.
Я использую Visual Studio, 2010 и мой проект являются проектом WinForms с тяжелым использованием interop использование 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" />
Это параметр в Visual Studio 2010:
Инструменты -> Параметры -> Отладка -> Окно вывода -> Настройки трассировки WPF -> Связывание данных -> установлено значение Предупреждение (или как угодно).
Стандарт был отключен.
Это решение сработало для меня.
Убедитесь, что ваш DataContext не является null. Если это так, то в окно вывода не будет записано никакой информации