Bumbuska,
Prism будет отличным способом для достижения этой функциональности, и это довольно легко сделать, когда вы поймете принципы.
Я сделаю это, добавив прослушиватели событий в событие запуска вашего основного региона. Когда вы выбираете свой пункт в меню, вы запускаете событие. Когда это произойдет, ваш основной регион обработает событие, и вы очистите текущий вид из основного региона. Затем создайте новый вид, который вы хотите использовать, и добавьте его.
Ваш основной регион должен выглядеть примерно так:
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();
}
Я надеюсь, что это указывает на правильное направление. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.