Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在wpf中的何处放置静态数据?_C#_Wpf_Mvvm - Fatal编程技术网

C# 在wpf中的何处放置静态数据?

C# 在wpf中的何处放置静态数据?,c#,wpf,mvvm,C#,Wpf,Mvvm,我是WPF的新手。我正在尝试编写一个利用MVVM设计模式的程序 我的程序有一个在启动时从数据库中获取的国家列表,并且在启动后是静态的。这些东西放在哪里?目前,它们位于ViewModel类层次结构的顶层: abstract class AbstractViewModel { static Jurisdiction[] jurisdictionOptions; public Jurisdiction[] JurisdictionOptions { get {

我是WPF的新手。我正在尝试编写一个利用MVVM设计模式的程序

我的程序有一个在启动时从数据库中获取的国家列表,并且在启动后是静态的。这些东西放在哪里?目前,它们位于ViewModel类层次结构的顶层:

abstract class AbstractViewModel
{
    static Jurisdiction[] jurisdictionOptions;
    public Jurisdiction[] JurisdictionOptions
    {
        get {
            if (jurisdictionOptions == null)
            {
                using (var db = new DatabaseContext())
                {
                    jurisdictionOptions = db.Jurisdictions.ToArray();
                }
            }
            return jurisdictionOptions;
        }
    }
}
然后,我可以将UIElements的ItemSource设置为辖区选项


这是实现这一点的正确方法吗?

如果要实现MVVM模式,还应该有一个模型类


通常,您应该将数据库代码放在模型中。

如果您要实现MVVM模式,您还应该有一个模型类

通常,您应该将数据库代码放入模型中。

辖区是一个模型类。我使用实体框架来提供数据数据库访问,我不想用太多额外的方法加载它使用的模型类。也许我需要在实体框架类和viewmodels之间引入一个新的类层。辖区是一个模型类。我使用实体框架来提供数据数据库访问,我不想用太多额外的方法加载它使用的模型类。也许我需要在实体框架类和viewmodels之间引入一个新的类层。