我有一个按钮&单击它后,我需要转到另一个xaml页面。
此按钮位于Page1.xaml
中<Button Content="Button Name" HorizontalAlignment="Center" VerticalAlignment="Center" Click="Button_Click" Foreground="#FF119FF0"/>
private void Button_Click(object sender, RoutedEventArgs e)
{
frameBody.Navigate(typeof(HomePage));
}
但我无法导航到HomePage.xaml。
可能是什么原因?
这些是我包含的库:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
Button_Click()函数在Page1.xaml.cs中定义。
答案 0 :(得分:2)
我认为您缺少指令或程序集引用?
用于窗口电话8.1导航
Frame.Navigate(typeof(Urpage));
用于Windows Phone 8.0
NavigationService.Navigate(new Uri("/URpage.xaml", UriKind.Relative));
答案 1 :(得分:2)
检查您是否正在使用Windows Phone Silverlight项目,并且您的班级正在扩展/继承“电话应用程序页面”,如下所示:
public partial class Example : PhoneApplicationPage
{
private void Button_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/Homepage.xaml", UriKind.RelativeOrAbsolute));
}
}
希望这有帮助
答案 2 :(得分:1)
这是我在项目中使用的代码:
private void ItemView_ItemClick(object sender, ItemClickEventArgs e)
{
var albumId = ((Album)e.ClickedItem).Id;
if (!Frame.Navigate(typeof(AlbumPage), albumId))
{
var resourceLoader = ResourceLoader.GetForCurrentView("Resources");
throw new Exception(resourceLoader.GetString("NavigationFailedExceptionMessage"));
}
}
要关注的部分是Frame.Navigate(typeof(AlbumPage))
。
我想将一些信息传递给该页面,这就是我传递albumId
的原因。
如果要在其他页面中检索传递的参数,可能需要使用以下代码:
private void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
var albumId = (int)e.NavigationParameter;
}
答案 3 :(得分:0)
另一个需要注意的最重要的一点是,您可能需要查看“App.xaml.cs&#39;文件和OnLaunched方法更改
rootFrame.Navigate(typeof(UrPage),e.Arguments);
默认情况下MainPage.xaml加载。