在Windows Phone 8应用程序中,可以使用如下所示的超链接在XAML页面之间导航
Hyperlink MyLink = new Hyperlink();
MyLink.NavigateUri = new Uri("/Views/SamplePage.xaml?entryId=" + entryId, UriKind.Relative);
我正在IValueConverter中根据内容创建动态超链接。我将应用程序移植到Windows 8,我无法使用相同的代码,因为Windows 8仅支持使用框架导航
this.Frame.Navigate(typeof运算(的SamplePage));
还有其他方法,我可以使用超链接在Windows 8 metro应用程序中的xaml页面之间导航。
或者有没有办法让IValueConverter中的当前Frame在页面之间导航?
答案 0 :(得分:2)
听起来你在ValueConverter中导航 - 我个人不会这样做。
使用Frame对象,创建自己的抽象作为服务,或使用行为(您当然可以使用转换器)
<Grid x:Name="grid5" Grid.Row="1" Grid.Column="2" Background="Purple">
<TextBlock x:Name="TextBox" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="45" Text="Navigation with param" Margin="0,165,3,165"/>
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Tapped">
<core:NavigateToPageAction TargetPage="Behaviors_And_Triggers.NewPage" Parameter="{Binding ElementName=TextBox,Path=Text}"/>
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
</Grid>
别忘了添加Behaviors SDK扩展程序(Add Reference =&gt; Extensions =&gt; Behaviors)和命名空间:
xmlns:interactivity="using:Microsoft.Xaml.Interactivity"
xmlns:core="using:Microsoft.Xaml.Interactions.Core"
注意:Behaviors_And_Triggers。 NewPage =&gt; NewPage是页面的名称!