Я новичок в использовании платформы Prism.
Я установил свое приложение, и все работало нормально. Однако теперь я пытаюсь разделить две области, которые у меня есть, с помощью модуля.
Теперь, когда я перехожу к любому виду во втором регионе, я больше не могу переходить к любому другому виду в этом регионе.
Вот код:
public void OnInitialized(IContainerProvider containerProvider)
{
_regionManager = containerProvider.Resolve<IRegionManager>();
_regionManager.RequestNavigate("ContentRegion", "ClientWindow");
_factory.BuildString(
"Model[System.Mode]",
OnModeChanged);
}
public void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterForNavigation<ClientWindow>();
containerRegistry.RegisterForNavigation<AnyGame>();
containerRegistry.RegisterForNavigation<LockupControl>();
containerRegistry.RegisterForNavigation<MenuControl>();
Configuration configuration = new Configuration("TargetApplication", Environment.GetCommandLineArgs());
_model = new ModelManager();
Listener listener = new Listener(
configuration.ModelClient,
connected => ClientConnectionChanged(connected));
_factory = new BindingFactory(_model);
containerRegistry.RegisterInstance(configuration);
containerRegistry.RegisterInstance(_model);
containerRegistry.RegisterInstance(listener);
containerRegistry.RegisterInstance(_factory);
}
/// <summary>
/// Handle a connection changed notification on the main UI thread.
/// </summary>
/// <param name="connected">True if connected.</param>
private void ClientConnectionChanged(bool connected)
{
if (connected)
{
_model.Reset();
}
else
{
_model.ProcessDisconnected();
}
}
private void OnModeChanged(string mode)
{
switch (mode)
{
default:
case "Game":
_regionManager.RequestNavigate("ClientRegion", "AnyGame");
break;
case "Lockup":
_regionManager.RequestNavigate("ClientRegion", "LockupControl");
break;
case "Menu":
_regionManager.RequestNavigate("ClientRegion", "MenuControl");
break;
}
}
В методе OnModeChanged я пытаюсь переходить к различным представлениям при изменении режима моей игры. Я добавил несколько точек останова в свой код, чтобы убедиться, что я правильно получаю методы RequestNavigate, что я и есть. Первый RequestNavigate работает как положено, однако всякий раз, когда я вызываю эти методы, после этого они ничего не делают.
Любая помощь будет принята с благодарностью. :) Спасибо!