Открыть модуль в новом окне

Я пытаюсь открыть модуль, разрешенный специальным каталогом

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>
Другие вопросы по тегам