C# 有没有办法在选择器上使用SelectedIndex和SelectedValue?

C# 有没有办法在选择器上使用SelectedIndex和SelectedValue?,c#,wpf,xaml,C#,Wpf,Xaml,我有一个这样的组合框: <ComboBox ItemsSource="{Binding PeopleDisplay **removed relative source**}" SelectedValuePath="Id" SelectedValue="{Binding PersonId}" DisplayMemberPath="Name"/> 现在,我希望viewmodel中的Perso

我有一个这样的组合框:

    <ComboBox ItemsSource="{Binding PeopleDisplay **removed relative source**}"
              SelectedValuePath="Id"
              SelectedValue="{Binding PersonId}"
              DisplayMemberPath="Name"/>

现在,我希望viewmodel中的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;
list persons=init from db。。。
插入(0,新人员(name=“init value”,id=-1))

如果(我知道PersonIdAs使用了
SelectedIndex
,然后根据索引从列表中检索到obj,使用index~将SelectedIndex初始化为零,这意味着将选择PeopleDisplay的第一个元素,即SelectedValue将不可避免地保留第一个元素的PersonId。您必须在视图m中进行初始化奥黛尔,我很害怕。但我想我能做到,谢谢