2015-03-13 63 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="">