我是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;
}
}
}
然后我可以将ItemSource
的UIElements设置为JurisdictionOptions
。
这是实现这个的正确方法吗?
答案 0 :(得分:4)
如果要实现MVVM模式,还应该有一个模型类。
通常,您应该将数据库代码放在模型中。