我有一个这样的组合框:
<ComboBox ItemsSource="{Binding PeopleDisplay **removed relative source**}"
SelectedValuePath="Id"
SelectedValue="{Binding PersonId}"
DisplayMemberPath="Name"/>
现在,我希望视图模型中的 PersonId 属性捕获所选人员的 Id,但我也希望将初始选择设置为索引 0。 当我尝试 SelectedIndex = 0 时,两者冲突且 SelectedValue 获胜,因此我最终没有默认选择。由于一些原因,我无法在 ViewModel 属性中添加默认值。
有没有办法同时使用SelectedIndex来设置初始值和SelectedValue来捕获他们所做的选择?
你可以使用这个:
list<person> persons=init from db...
persons.insert(0,new person(name="init value",id=-1))
if(PersonId<=0)PersonId=persons.find(-1).id;