如何最好地将Prism区域管理与WPF导航服务集成?

3

我有一个已定义区域的Prism (CAL) shell。每个区域负责自己的导航日志,一些区域将从父级继承。

问题在于您无法在Frame的内容模板中定义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

在Frame中直接定义区域,并在框架的“源”或“内容”属性中定义任何内容是解决方案。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接