自动选择Comboxbox的第一项

3
我有一个ComboBox,绑定了ViewModel的一个属性。
<ComboBox  ItemsSource="{Binding UserCollection}"   SelectedValuePath="Id" DisplayMemberPath="UserName"   SelectedValue="{Binding SelectedUser}"       />

当有多个选项时,我希望它自动选择第一个选项。

我尝试使用IsSynchronizedWithCurrentItem="True"SelectedIndex="0",但是没有选中任何选项。

2个回答

0

你能将绑定属性模式添加为双向吗?

<ComboBox  ItemsSource="{Binding UserCollection}"    DisplayMemberPath="UserName"   SelectedItem="{Binding Path=Id}" IsSynchronizedWithCurrentItem="True" SelectedIndex="0"/>

谢谢,我使用这个,但不选择。 - ar.gorgin

0

绑定SelectedItem而不是SelectedValue

<ComboBox ItemsSource="{Binding UserCollection}"  
          SelectedItem="{Binding SelectedUser}"     
          SelectedValuePath="Id"
          DisplayMemberPath="UserName"  
 />

然后将您的SelectedUser设置为您的列表中的第一项(如果尚未设置):

SelectedUser = UserCollection[0];

谢谢。我可以在ViewModel中为集合的第一项设置“SelectedValue”,但我想在XAML中设置它。这是可能的。 - ar.gorgin
在设置SelectedItemSelectedIndex时,同时设置它们是没有任何意义的。当您在XAML中设置SelectedItem时,您必须更改视图模型中的SelectedUser以告诉ComboBox选择哪个项目。 - Bahman_Aries

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接