我在这个漂亮的新的,但我会尽量帮助:当您运行与卡利微型构建的应用程序,窗口管理器会自动用于创建启动窗口。关于引导程序:
protected override void Configure()
{
container = new CompositionContainer(new AggregateCatalog(AssemblySource.Instance.Select(x => new AssemblyCatalog(x)).OfType<ComposablePartCatalog>()));
CompositionBatch batch = new CompositionBatch();
batch.AddExportedValue<IWindowManager>(new WindowManager());
batch.AddExportedValue<IEventAggregator>(new EventAggregator());
batch.AddExportedValue(container);
container.Compose(batch);
}
您可以使用此窗口管理器实例来管理不同的对话框。然后你只需要导入窗口管理器中所需要的视图模型:
private readonly IWindowManager _windowManager;
[ImportingConstructor]
public FooViewModel(IWindowManager windowManager)
{
_windowManager = windowManager;
}
请看看在卡利微文档(http://caliburnmicro.codeplex.com/documentation)的样品,并在此博客:http://www.mindscapehq.com/blog/index.php/2012/03/13/caliburn-micro-part-5-the-window-manager/
通信视图模型之间由事件聚合器完成。
我知道这是很老了,但我很乐意看到“HelloScreens”应用程序的WPF版本。我跟着你的WPF修改版的链接,但它也是Silverlight。有没有这个地方的WPF版本? – Sean
@Sean链接实际上指向WPF应用程序!这是在4shared.com –
谢谢,这个应用程序是一个很大的帮助。我第一次下载了正确的应用程序,但是我刚刚下载了原版,并且我无意中解压了错误的! – Sean