2015-03-13 53 views
0

我有一个ComboBox,一些硬编码ComboBoxItems,我试图显示任何Content该项目包含。WPF组合框DisplayMemberPath当没有ItemsSource

<ComboBox SelectedIndex="0" 
      SelectedValuePath="Tag" 
      DisplayMemberPath="{Binding Content}"> 

    <ComboBoxItem Content="Item1" /> 
    <ComboBoxItem Content="Item2" Tag="sometag1" /> 
    <ComboBoxItem Content="Item3" Tag="sometag2" /> 
    <ComboBoxItem Content="Item4" Tag="sometag3" /> 
</ComboBox> 

我正在努力如何设置DisplayMemberPath。目前,我将其设置为{Binding Content}。如果我将上面的代码插入到空白的WPF项目中,则Content将如下所示正确显示。

Combobox

然后我正好复制在另一个更大的项目相同的代码,选择第一项,并没有什么表示:

Combobox inserted into bigger project

我不明白这是怎么可能的。 Combobox代码应完全独立于项目的其他部分。只有应用主题和视觉外观是不同的。

DisplayMemberPath有什么不对或做了什么可以解释这一点?

+0

你试过删除SelectedValuePath =“Tag” DisplayMemberPath =“{Binding Content}”,然后检查? – 2015-03-13 09:38:24

+0

'DisplayMemberPath =“Content”'?还要检查输出窗口,看看是否有与此代码相关的任何绑定错误消息... – har07 2015-03-13 09:43:59

+0

@ user2143213为什么你需要'DisplayMemberPath'?无论如何,它都会显示“内容”。 – dkozl 2015-03-13 09:51:03

回答

0

我发现,如果将DisplayMemberPath设置为空字符串,即使将主题应用于应用程序,它也会导致Content显示在折叠组合框中。希望这可以帮助。

<ComboBox SelectedIndex="0" 
     SelectedValuePath="Tag" 
     DisplayMemberPath=""> 
相关问题