gpt4 book ai didi

c# - 正确更新 MVVM 中的 ComboBox 选定项

转载 作者:太空宇宙 更新时间:2023-11-03 11:58:58 27 4
gpt4 key购买 nike

给定以下 ViewModel 代码 - cmbxFields 绑定(bind)到 ComboBox ItemSource,SelectedcmbxField 绑定(bind)到所选项目 - ComboBox 所选项目在我导航之前不会更新离开并返回 View (Page)。在 MVVM 中执行此操作以使 ComboBox 立即更新的正确方法是什么?

public ObservableCollection<string> cmbxFields { get; set; } = new ObservableCollection<string>();
public string SelectedCmbxField { get; set; }

private async Task LoadWorkspaceFields()
{
cmbxFields.Clear();
foreach (var curField in availableFields.OrderBy(x =>x.Name).Select(x => x.Name))
{
cmbxFields.Add(curField);
}

SelectedCmbxField = cmbxFields.FirstOrDefault(x => x.StartsWith("Some Text"));
}

我已经在我的 ComboBox XAML 上尝试了以下内容-

SelectedItem="{Binding SelectedcmbxField, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"

最佳答案

INotifyPropertyChanged 实现的简单示例:

public class MyClass : INotifyPropertyChanged
{
private int intValue;

public event PropertyChangedEventHandler PropertyChanged;

public int MyIntValue
{
get => intValue;
set
{
intValue = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(MyIntValue)));
}
}
}

关于c# - 正确更新 MVVM 中的 ComboBox 选定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58008140/

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