OwnsJournal打破了UriMapper

时间:2011-09-13 19:43:22

标签: silverlight xaml silverlight-4.0 navigation

如果我对JournalOwnership使用OwnsJournal选项,则UriMapping将停止工作,因为即使uri与id / {guid}格式匹配,也只会显示/Views/Main.xaml。有人碰到这个吗?

<Grid x:Name="root" Background="White">
    <navigation:Frame JournalOwnership="OwnsJournal">
        <navigation:Frame.UriMapper>
            <uriMapper:UriMapper>
                <uriMapper:UriMapping Uri="id/{guid}" MappedUri="/Views/Redirector.xaml?id={guid}" />
                <uriMapper:UriMapping Uri="" MappedUri="/Views/Main.xaml" />
            </uriMapper:UriMapper>
        </navigation:Frame.UriMapper>
    </navigation:Frame>
</Grid>

1 个答案:

答案 0 :(得分:0)

Frame.JournalOwnership设置为OwnsJournal基本上禁用响应UriMapping规则的帧,当单个应用程序中有多个帧时,可以使用它,您选择将响应uri映射规则的主帧,其余的应该维护自己的日记,所以你为他们设置OwnsJournal

否则所有帧都将响应URL,如果您在单个应用程序中显示3个帧,则每个帧将独立导航到同一视图,这不是所需的行为。

一旦框架具有OwnsJournal属性,只能通过调用Navigate方法从代码中导航它。

如果您希望Frame回复网址更改,则需要将其JournalOwnership保留在Automatic