我正在使用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