gpt4 book ai didi

c# - 如何通过 View 模型库访问所有 View 模型?

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

我创建了一个ViewModel类,该类在INotifyPropertyChanged的实现内部,现在我还具有从ViewModel(基础)继承的其他ViewModel。
所有的工作实际上都很好,但我对此表示怀疑。
假设我们在CustomerViewModel中有一个名为Price的ObservableCollection,如下所示:

private ObservableCollection<Models.Price> _price = new ObservableCollection<Models.Price>();
public ObservableCollection<Models.Price> Price
{
get { return _price; }
}

这个ObservableCollection应该由其他类填充,因为我需要访问相同的资源。

我真的不明白如何在mvvm中做到这一点。我虽然使用了Singleton ViewModel,但在基本VM中定义了以下内容:
 public static ViewModel Instance { get; set; }

因此,将所有子VM导入基础库,然后通过ViewModel.Instance.Price;对其进行访问;

但对我来说似乎不是一个好习惯。任何的想法?

最佳答案

通过此实现,您可以将相同的数据源共享给所有ViewModel。

public class PriceGenerator {

private PriceGenerator() {
this.Prices = new ObservableCollection<Price>();
this.Generate();

}

void Generate() {
//Generate Objects here

this.Prices.Add(generatedPrice);
}

public ObservableCollection<Price> Prices {
get;
}


private static PriceGenerator _instance;
public static PriceGenerator Instance => _instance ?? (_instance = new PriceGenerator());

}

关于c# - 如何通过 View 模型库访问所有 View 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38040903/

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