Я новичок в PRISM, но я прочитал справочную документацию и, похоже, не могу понять, как добиться следующего (это приложение WPF)
У меня есть Shell
(Окно), в котором есть 2 региона с именами 'region1' и 'region2'.
в методе Initialize
моего единственного модуля я регистрирую одно и то же представление для каждого региона:
regionViewRegistry.RegisterViewWithRegion("Region1", typeof(View1));
regionViewRegistry.RegisterViewWithRegion("Region2", typeof(View1));
и когда я запускаю его, все в порядке, поскольку он создает 2 отдельных экземпляра View1
и размещает по одному в каждом регионе.
Теперь в View1
я объявил свой собственный регион для внедрения маленьких дочерних представлений
<ItemsControl Name="MainRegion" cal:RegionManager.RegionName="MainRegion" />
Теперь, когда я запускаю свое очень простое приложение PRISM, я получаю следующее сообщение об исключении:
"Регион с указанным именем уже
зарегистрировано: MainRegion "
, что означает, что я не могу иметь несколько экземпляров одного и того же представления, если это представление объявляет свои собственные регионы.
Это правильно?
кажется огромным ограничением.
Я хочу, чтобы мое приложение было высоко модульным, и чтобы представление составляло другие представления (через регионы) и т. Д.
Или я неправильно прочитал документацию?