Как вставить элемент в выпадающий список после привязки wpf - PullRequest
2 голосов
/ 16 июля 2010

Я хочу добавить элемент в выпадающий список после его привязки. например:

this.cbCategory.ItemsSource = categoryList;
        this.cbCategory.DisplayMemberPath = "CategoryName";
        this.cbCategory.SelectedValuePath = "CategoryID";

я хочу добавить («Все», «%») в качестве первого.

Гит.

Ответы [ 2 ]

9 голосов
/ 16 июля 2010

Это очень просто, используя CompositeCollection:

<ComboBox DisplayMemberPath="CategoryName" SelectedValuePath="CategoryID">
  <ComboBox.ItemsSource>
    <CompositeCollection>
      <my:Item CategoryName="All" CategoryID="%" />
      <CollectionContainer Collection="{Binding CategoryList}" />
    </CompositeCollection>
  </ComboBox.ItemsSource>
</ComboBox>

Как это работает: CompositeCollection создает элемент «Все», за которым следуют все элементы коллекции CategoryList. Обратите внимание, что <my:Item ... /> является конструктором для вашего класса предметов. Вам нужно будет изменить его на свое фактическое пространство имен и имя класса.

Важный совет: я заметил, что вы устанавливаете некоторые свойства ComboBox в коде. Это очень плохая практика. Вы должны использовать XAML, как показано выше.

0 голосов
/ 16 июля 2010

Вы нарушите привязку, если попытаетесь добавить ее позже и больше не будете получать обновления.

Почему бы просто не добавить свой «дополнительный» элемент до его привязки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...