说我有一个页的数目的C#Silverlight 3应用程序。 第一页称为主页,第二页被称为细节。 导航到细节的唯一途径是编程。 我该怎么做呢?! 四处寻找答案,我的一切都是发现XAML URI mapper实现....
帮助非常感谢
说我有一个页的数目的C#Silverlight 3应用程序。 第一页称为主页,第二页被称为细节。 导航到细节的唯一途径是编程。 我该怎么做呢?! 四处寻找答案,我的一切都是发现XAML URI mapper实现....
帮助非常感谢
你是否尝试过的NavigationService?
this.NavigationService.Navigate(新URI( “Details.xaml”,UriKind.Relative));
C#:
this.navContent.Navigate(new Uri("Welcome", UriKind.Relative));
XAML:
<navigation:Frame
x:Name="navContent"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
Source="Welcome">
<navigation:Frame.UriMapper>
<uriMapper:UriMapper>
<uriMapper:UriMapping Uri="Welcome" MappedUri="/Views/Welcome.xaml" />
<uriMapper:UriMapping Uri="Profile" MappedUri="/Views/Profile.xaml" />
<uriMapper:UriMapping Uri="Details/{id}" MappedUri="/Views/Details.xaml?photoid={id}" />
</uriMapper:UriMapper>
</navigation:Frame.UriMapper>
</navigation:Frame>
即使你的“详细信息”页面应该(不管你说什么。)映射
C#App.Current.Host.NavigationState = “/欢迎”;
XAML
最好的解决办法是:
此代码添加到您的App.xaml.cs:
private static Grid root;
private void Application_Startup(object sender, StartupEventArgs e)
{
root = new Grid();
root.Children.Add(new MainPage());
this.RootVisual = root;
}
public static void Navigate(UserControl newPage)
{
UserControl oldPage = root.Children[0] as UserControl;
root.Children.Add(newPage);
root.Children.Remove(oldPage);
}
然后,页面之间导航,你只需要调用:
App.Navigate(new OtherSamplePage());
尝试使用此。 这为我工作。
((System.Windows.Controls.Frame)(this.Parent))导航(新URI( “/导入”,UriKind.Relative));