寻找简单的MVVM Light示例

12
我正在尝试学习MVVM Light,并寻找一个好的基本示例,展示模型和如何加载不同的视图。
我下载MVVM Light后看到的模板没有模型,只有一个视图。(http://www.galasoft.ch/mvvm/creating/)
我发现其他一些东西更加复杂,有点令人困惑,当我只想看到基础知识时。
谢谢。
4个回答

9

2
在这个例子中,“model”实现了INotify。我倾向于认为Model使用POCO(Plain Old CLR Object),而ModelView实现INotify以允许数据绑定。 - Chris Bennet
1
这个答案对人或兽已经没有帮助了,因为链接中没有任何代码或有用的信息。 - Ortund
截至2020年7月,页面顶部有一个大的“下载存档”链接 - 点击该链接,进入sourceCode/sourceCode.zip。不客气。 - rsenna

1

我发现这两个非常有帮助:

http://www.codeproject.com/KB/WPF/blendable_locator.aspx http://rickrat.wordpress.com/2011/01/24/using-mef-to-link-view-model-locator-and-load-assembly-uis-dynamically

第一个是一个简单的MVVM Light viewModelLocator类,它为您提供MEF功能。

[ExportViewModel("Demo1", false)]
class Demo1ViewModel : ViewModel
{   
}

第二个则使用相同的方法,还有一个MefHelper类,可以在运行时加载MEF组件。

public void Compose()
{
AggregateCatalog Catalog = new AggregateCatalog();
// Add This assembly's catalog parts
System.Reflection.Assembly ass = System.Reflection.Assembly.GetEntryAssembly();
Catalog.Catalogs.Add(new AssemblyCatalog(ass));

// Directory of catalog parts
if (System.IO.Directory.Exists(ExtensionsPath))
{
    Catalog.Catalogs.Add(new DirectoryCatalog(ExtensionsPath));
    string[] folders = System.IO.Directory.GetDirectories(ExtensionsPath);

    foreach (string folder in folders)
    {
        Catalog.Catalogs.Add(new DirectoryCatalog(folder));
    }

}

_Container = new CompositionContainer(Catalog);
}

1

我个人发现这些非常有用,尽管它们也使用了MEF和RIA服务,这可能会使事情变得复杂:

使用MEF、MVVM和WCF RIA服务的Silverlight 4示例应用程序

使用RIA服务MEF和MVVM架构Silverlight 4 - 第1部分

四月份,MVVM Light工具包的作者表示他最终将在Silverlight和WPF中创建一个参考应用程序。(来源)

您可能会发现这些其他问题有用:

mvvm light toolkit样本

请求WPF/Silverlight MVVM示例应用程序

MVVM从头到尾的教程


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接