2010-05-10 58 views
16

我一直试图找到绑定我的ComboBox的SelectedItem的问题的底部,因为我没有成功因此我开始寻找方法来获取更详细的调试信息,通过设置PresentationTraceSources.TraceLevel = High特定绑定。不幸的是,这样做后,我的输出窗口中的调试类别下看不到任何相关的项目。PresentationTraceSources.TraceLevel = High的任何原因都不会将任何信息输出到输出窗口?

我使用的是Visual Studio 2010,我的项目是一个WinForms项目,它使用了大量的使用ElementHost来托管WPF内容的interop。所有相关的项目目前都是为.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

我有同样的问题..这在过去对我有效。你有没有找到解决方案? – 2010-06-03 19:43:20

+1

试试WaltiD的建议。在我的情况下,上次我测试它时都开始工作,但我怀疑它是在解决Visual Studio中与intellisense有关的另一个问题时间接应用WaltiD的解决方案。 – jpierson 2010-06-10 17:01:09

+0

非常好,刚回到这篇文章,解决方案效果很好。 – 2010-06-22 18:33:03

回答

26

它在Visual Studio 2010中的设置:

工具 - >选项 - >调试 - >输出窗口 - >WPF跟踪设置 - >数据绑定 - >设置为警告(或任何你喜欢的)。

标准关闭。

此解决方案适用于我。

+0

奇怪的是,我回到了这里,它现在似乎正在工作。我相信我必须在Visual Studio 2010中重置我的设置,因为我正在排除其他问题,并且现在确实显示您指出的设置现在设置为“警告”,尽管我不确定它之前设置的是什么遇到了问题。如果它看起来像是一致的解决方案,我会把它留给其他人民的选票并接受你的答案。谢谢 – jpierson 2010-06-10 16:59:50

+0

哦,亲爱的......我变得疯狂......曾经与2008年一起工作,不知道为什么停止工作。非常感谢。 – 2011-10-02 15:50:30

2

确保您的DataContext不为null。如果是这样,没有信息将被记录到输出窗口