我正在尝试学习MVVM Light,我正在寻找一个展示模型以及如何加载不同视图的基本示例。
我下载MVVM Light后看到的模板没有模型,只有一个视图。 (http://www.galasoft.ch/mvvm/creating/)
我发现的其他事情更复杂,有点令人困惑,因为我想看到的只是基础知识。
感谢。
答案 0 :(得分:7)
我发现此示例很有用:
答案 1 :(得分:1)
我个人发现这些非常有用,虽然他们也使用MEF和RIA服务,这可能会使事情变得复杂:
A Sample Silverlight 4 Application Using MEF, MVVM, and WCF RIA Services
Architecting Silverlight 4 with RIA Services MEF and MVVM - Part 1
4月,MVVM Light工具包的作者说他最终将在Silverlight和WPF中创建一个参考应用程序。 (Source)
您可能会发现其他问题很有用:
答案 2 :(得分: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
first只是一个简单的MVVM Light插入式viewModelLocator类,可以为你提供MEF功能。
[ExportViewModel("Demo1", false)]
class Demo1ViewModel : ViewModel
{
}
而second使用相同的方法,使用额外的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);
}
答案 3 :(得分:0)