WPF中的ComboBox绑定

时间:2009-07-15 16:04:46

标签: wpf data-binding combobox

我无法设置组合框的选定值。

这就是我的表现。

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 个答案:

答案 0 :(得分:4)

但请等待,因为您设置了selecteditem和selectedvaluepath,所以定义了您选择的值;)您不必设置selectedvalue,并且 EDIT
作为SelectedItem存在的ItemList存在在ItemListCollection中

这应该有效

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

如果你想让它在你的情况下工作,只需在你的Item类中重写Equals方法,就像这样

public class Item
    {
        ...
        public override bool Equals(object obj)
        {
            Item i = (Item)obj;
            if (i.ID == this.ID)
                return true;
            return base.Equals(obj);
        }
        ...
    }