我一直试图通过绑定我的ComboBox的SelectedItem来解决问题的根源,因为我没有成功,因此我开始寻找通过设置 PresentationTraceSources来获取更详细的调试信息的方法。 TraceLevel = High 用于特定绑定。不幸的是,在这样做之后,我在“调试”类别下的“输出”窗口中看不到任何相关项目。
我正在使用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" />
答案 0 :(得分:30)
这是Visual Studio 2010中的一个设置:
工具 - &gt; 选项 - &gt; 调试 - &gt; 输出窗口 - &gt; WPF跟踪设置 - &gt; 数据绑定 - &gt;设置为警告(或任何你喜欢的)。
标准已关闭。
这个解决方案对我有用。
答案 1 :(得分:2)
确保您的DataContext不为null。如果是,则不会将任何信息记录到输出窗口