gpt4 book ai didi

wpf - 不要在 wpf mvvm 中为 Combobox 设置 SelectedItem

转载 作者:行者123 更新时间:2023-12-03 10:59:44 24 4
gpt4 key购买 nike

我有一个组合框并绑定(bind) ItemsSource 和 SelectedItem

<ComboBox DisplayMemberPath="Name"  ItemsSource="{Binding OrganizationalPostCollection,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"  SelectedItem="{Binding OrganizationalPost,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"  HorizontalAlignment="Left" Width="230" Margin="5" />

在 ViewModel 中
OrganizationalPost _organizationalPost;
public OrganizationalPost OrganizationalPost
{
get { return _organizationalPost; }
set
{
if (value != _organizationalPost)
{
_organizationalPost = value;
RaisePropertyChanged("OrganizationalPost");
}
}
}

ICollectionView _organizationalPostCollection;
public ICollectionView OrganizationalPostCollection
{
get { return _organizationalPostCollection; }
set
{
if (value != _organizationalPostCollection)
{
_organizationalPostCollection = value;
RaisePropertyChanged("OrganizationalPostCollection");
}
}
}

在构造函数中
OrganizationalPostCollection = CollectionViewSource.GetDefaultView(db.OrganizationalPost.ToList());
OrganizationalPost = SelectedUser.OrganizationalPost;

OrganizationalPost 具有值(value),但不要在 SelectedItem 中设置。

最佳答案

为了选择 SelectedItem 的值属性并更新 UI,您设置的项目必须来自设置为 ItemsSource 的集合对于相同的控制:

OrganizationalPost = OrganizationalPostCollection[selectedItemIndex];

或者如果您的类(class)具有唯一可识别的属性:
OrganizationalPost = OrganizationalPostCollection.Where(p => p.Id == itemToSelect.Id).
Single();

关于wpf - 不要在 wpf mvvm 中为 Combobox 设置 SelectedItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18327428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com