我无法设置组合框的选定值。
这就是我的表现。
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模式
请帮助......
答案 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);
}
...
}