gpt4 book ai didi

WPF 绑定(bind) : Refreshing Binding after reload of combos from database

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

我有两个组合的“Make”和“Model”,它们的 SelectedValue 属性绑定(bind)到具有 ModelID 和 MakeID 的 Vehicle 对象。

继承人模型...

<ComboBox DisplayMemberPath="Description" ItemsSource="{Binding Path=ModelSpecs}" SelectedValue="{Binding Path=Vehicle.ModelID}" SelectedValuePath="ID" />

用户可以在单独的控件中搜索 Vehicles,这会换出底层的 Vehicle 对象。如果您在相同 Make 的车辆之间切换一切正常,但是如果 Make 发生更改,我会转到数据库并重新加载 ModelSpec 集合。组合不会显示模型描述,因为需要刷新绑定(bind)。

我目前的解决方法是在重新加载模型的方法的末尾添加它 - 它工作正常,但不是一个特别优雅的解决方案。
        var modelID = ViewModel.Vehicle.ModelID;
ViewModel.Vehicle.ModelID = string.Empty;
ViewModel.Vehicle.ModelID = modelID;

基本上我只是触发 INotifyPropertyChanged ...
    private string _modelID;
public string ModelID
{
get { return _modelID; }
set
{
if (_modelID == value) return;
_modelID = value;
OnPropertyChanged("ModelID");
}
}

我能想到几个类似的不优雅的解决方案——但一定有更好的方法吗?!任何帮助表示赞赏!

最佳答案

只需制作 ModelSpec可观察的集合(即自己实现 INotifyCollectionChanged,或使用 ObservableCollection 类)。

关于WPF 绑定(bind) : Refreshing Binding after reload of combos from database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1195345/

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