OwnsJournal ломает UriMapper - PullRequest
       8

OwnsJournal ломает UriMapper

2 голосов
/ 13 сентября 2011

Если я использую опцию OwnsJournal для JournalOwnership, UriMapping перестает работать, как показано только в /Views/Main.xaml, даже если uri соответствует формату id / {guid}. Кто-нибудь сталкивался с этим?

<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 голосов
/ 14 сентября 2011

Установка Frame.JournalOwnership на OwnsJournal в основном отключает фрейм, отвечающий правилам UriMapping, его можно использовать, когда у вас есть несколько фреймов в одном приложении, вы выбираете основной фрейм, который будет отвечать на правила отображения uri, а остальные вести свой собственный журнал, поэтому вы устанавливаете для них OwnsJournal.

В противном случае все фреймы будут отвечать на URL, и если в одном приложении отображается 3 фрейма, каждый из них будет независимо перемещаться к одному и тому же представлению, что не является желательным поведением.

Как только фрейм имеет свойство OwnsJournal, единственный способ навигации по нему - из кода путем вызова метода Navigate.

Если вы хотите, чтобы Frame отвечал на изменения URL-адреса, вам необходимо оставить его JournalOwnership по адресу Automatic

...