Связывание ComboBox в WPF - PullRequest
1 голос
/ 15 июля 2009

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

так я и делаю.

ComboBox x:Name="cmbProjectStatus" ItemsSource="{Binding ItemListCollection}" 
         DisplayMemberPath="Name" 
         SelectedValuePath="ID" 
         SelectedValue="{Binding Path=ItemList.ID}"
         SelectedItem="{Binding Path=ItemList}" 
         HorizontalAlignment="Stretch" VerticalAlignment="Center" />

Я использую шаблон MVVM в своем проекте

Пожалуйста, помогите ...

1 Ответ

4 голосов
/ 15 июля 2009

но подождите, ваше выбранное значение определено, потому что вы установили selecteditem и selectedvaluepath;) вам не нужно устанавливать selectedvalue, и
EDIT
ItemList, настроенный как SelectedItem, существует в ItemListCollection

Это должно работать

   ComboBox x:Name="cmbProjectStatus" ItemsSource="{Binding ItemListCollection}" 
             DisplayMemberPath="Name" 
             SelectedValuePath="ID"
             SelectedItem="{Binding Path=ItemList}" 
             HorizontalAlignment="Stretch" VerticalAlignment="Center" />

если вы хотите, чтобы это работало в вашем случае, просто переопределите метод Equals в вашем классе Item, как это

public class Item
    {
        ...
        public override bool Equals(object obj)
        {
            Item i = (Item)obj;
            if (i.ID == this.ID)
                return true;
            return base.Equals(obj);
        }
        ...
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...