Открыть модуль в новом окне
Я пытаюсь открыть модуль, разрешенный специальным каталогом
return new DirectoryModuleCatalog() { ModulePath = @"..\..\modules" };
и хочу показать это по-новому Window
,
Как я могу это сделать?
Мой подход пока:
public void OpenInNewWindow(string regionName)
{
var cc = new ContentControl();
_regionManager.RegisterViewWithRegion(regionName, () => cc);
new Window
{
Content = cc
}.Show();
}
Но это, похоже, не работает. мой Window
пустой.
1 ответ
Решение
Предполагая, что вы имеете дело с navigation
и эта строка:
var cc = new ContentControl();
Только для демонстрации. Я полагаю, вам следует добавить имя региона в элемент управления контентом, прежде чем присваивать его представлению или перед вызовом RegisterViewWithRegion
, как это.
var contentControl = new ContentControl();
RegionManager.SetRegionName(contentControl, regionName);
var window = new Window
{
Content = contentControl
}.Show();
RegionManager.SetRegionName
является прикрепленным свойством, которое эквивалентно:
<ContentControl regions:RegionManager.RegionName="MyRegion"></ContentControl>