Bumbuska,
棱镜将是一个伟大的方式为你实现这个功能,这是很容易做到,一旦你了解校长。
我会做的方式是在你的主区的启动事件添加事件侦听器。当您在菜单中选择您的项目时,您将触发该事件。发生这种情况时,您的主区域将处理该事件,并清除主区域中的当前视图。然后创建您想要使用的新视图并添加它。
你的主要区域应该是这个样子:
public void Initialize()
{
Events.PageEvents.ClickedEvent1 ce1 = this.eventAggregator.GetEvent<Events.PageEvents.ClickedEvent1>();
ce1.Subscribe(LoadView, ThreadOption.UIThread, true);
}
private void LoadView(Events.HomePageEvents.Clicked clicked1)
{
IRegion mainRegion = RegionManager.Regions["MainRegion"];
foreach (object view in new List<object>mainRegion.Views))
{
RegionManager.Regions["MainRegion"].Remove(view);
}
IModule firstModule = Container.Resolve<Modules.FirstModule>();
firstModuleModules.Initialize();
}
我希望点,你在正确的方向。如果您需要更多信息,请告诉我。
Thx。我已经有了这个样本。我了解了这些概念,但我无法真正理解它并将它们放在我自己的应用程序中。但经过一些进一步的调查,这个样本真的帮助了我 - 所以我现在走在了正确的轨道上。 – stiank81 2009-09-10 08:48:55
很高兴我能帮到你。 – 2009-09-10 16:52:55
将此标记为答案,因为提供的示例代码是导致解决方案的原因。谢谢! – stiank81 2009-09-10 19:47:36