我正在使用Silverlight導航框架,其中有一個框架,其中我有一個UriMapper
。由於我可以爲我的一個頁面創建多個參數,因此我希望有一種通配符或可變參數映射來避免創建所有參數組合。Silverlight - 有沒有辦法讓'variadic'UriMapping?
這裏是什麼樣子,只有三個參數,並且一些組合省略:
<sdk:Frame>
<sdk:Frame.UriMapper>
<sdk:UriMapper x:Name="uriMapper">
<sdk:UriMapping Uri="List/query={query}/sort={sort}" MappedUri="/Views/ListPage.xaml?query={query}&sort={sort}" />
<sdk:UriMapping Uri="List/filter={filter}/sort={sort}" MappedUri="/Views/ListPage.xaml?filter={filter}&sort={sort}" />
<sdk:UriMapping Uri="List/filter={filter}/query={query}/sort={sort}" MappedUri="/Views/ListPage.xaml?filter={filter}&query={query}&sort={sort}" />
<sdk:UriMapping Uri="List/sort={sort}" MappedUri="/Views/ListPage.xaml?sort={sort}" />
<sdk:UriMapping Uri="{}{Page}" MappedUri="/Views/{Page}Page.xaml" />
</sdk:UriMapper>
</sdk:Frame.UriMapper>
</sdk:Frame>
我想辦法寫的所有可能的參數到「列表」頁面有一行,因爲他們都遵循相同的規則。像(這不起作用):
<sdk:UriMapping Uri="List/{params}" MappedUri="/Views/ListPage.xaml?{params}" />
那麼,有沒有辦法在Silverlight中做到這一點?
編輯:如果一切都失敗了,我可能會後備代碼生成映射,看起來會比幾十條XAML線條更難看。
編輯2:或者只是忘記映射的URIs,只是傳遞實際的頁面名稱Navigate()。
謝謝,我會檢查了這一點! – jv42 2011-05-16 08:40:15