Каков наилучший способ интеграции управления областью Prism с навигационными службами WPF? - PullRequest
3 голосов
/ 30 июня 2010

У меня есть оболочка Prism (CAL) с определенными регионами.Каждый регион отвечает за свой Журнал навигации, а некоторые регионы будут наследоваться от родителя.

Проблема заключается в том, что вы не можете определить регионы Prism в шаблоне содержимого фрейма.Каков наилучший подход для реализации NavigationServices в Shell.xaml и приятной игры с Prism.

Следующий код приводит к тому, что менеджер регионов плачет о том, что регионы не найдены.Я понимаю почему, но хотел бы получить информацию о наилучшей практике.

    <Frame JournalOwnership="OwnsJournal" NavigationUIVisibility="Hidden">
    <Frame.Content>
        <DockPanel>
            <ItemsControl Name="NavigationFrame" DockPanel.Dock="Top" 
                          cal:RegionManager.RegionName="{x:Static p:TopLevelShellRegionNames.NavigationRegion}"/>

            <Grid>
                 <ContentControl Name="ContentFrame" 
                                 cal:RegionManager.RegionName="{x:Static p:TopLevelShellRegionNames.ContentRegion}"/>
            </Grid>                      

        </DockPanel>
    </Frame.Content>
</Frame>

Спасибо.

1 Ответ

2 голосов
/ 30 июня 2010

Решением было определение области непосредственно в фрейме и определение любого содержимого в рамках фреймов. Свойство «Источник» или «Содержимое».

 <Frame JournalOwnership="OwnsJournal" cal:RegionManager.RegionName="{x:Static p:TopLevelShellRegionNames.ContentRegion}">
...