2012-04-16 18 views
2

我是WPF的新手。我正在尝试编写一个使用MVVM设计模式的程序。将静态数据放在wpf中的位置?

我的程序有一个在启动时从数据库中获取的国家列表,并且在那之后是静态的。这些地方放在哪里?此刻,我让他们坐在我的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; 
     } 
    } 
} 

然后我就可以设置UI元素的ItemSourceJurisdictionOptions

这是实施这个的正确方法吗?

回答

4

如果你正在实现MVVM模式,你还应该有一个模型类。

一般来说,你应该把你的数据库代码放入模型中。

+0

'管辖权'是一个模型类。我正在使用实体框架来提供数据库访问,并且我不想使用太多额外的方法来加载它使用的模型类。也许我需要在实体框架类和我的视图模型之间引入一个新的类层。 – Oliver 2012-04-16 12:25:51

相关问题