2015-03-13 4 views
0

У меня есть ComboBox, некоторые hardcoded ComboBoxItems, и я пытаюсь показать все, что содержит Content элемента.WPF ComboBox 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", а затем проверку? –

+0

'DisplayMemberPath =" Содержимое "'? Также проверьте окно вывода, чтобы увидеть, есть ли какое-либо сообщение об ошибке связи, связанное с этим кодом ... – har07

+0

@ user2143213 зачем вам 'DisplayMemberPath'? В любом случае он отобразит «Контент». – dkozl

ответ

0

Я обнаружил, что если я установил DisplayMemberPath в пустую строку, это приведет к отображению Content в свернутом поле со списком, даже если тема применяется к приложению. Надеюсь это поможет.

<ComboBox SelectedIndex="0" 
     SelectedValuePath="Tag" 
     DisplayMemberPath=""> 
Смежные вопросы