无法在 Windows Phone 8.1 中单击按钮时导航到另一个页面
本文关键字:导航 按钮 另一个 单击 Windows Phone | 更新日期: 2023-09-27 18:30:23
我有一个按钮,点击它后,我需要转到另一个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));
}
但是我无法导航到主页.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 中定义。
我认为您缺少指令或程序集引用?
对于窗口电话 8.1 导航
Frame.Navigate(typeof(Urpage));
适用于窗口手机 8.0
NavigationService.Navigate(new Uri("/URpage.xaml", UriKind.Relative));
检查您是否正在使用Windows Phone sliverlight项目,并且您的类正在扩展/继承"PhoneApplicationPage",如下所示:
public partial class Example : PhoneApplicationPage
{
private void Button_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/Homepage.xaml", UriKind.RelativeOrAbsolute));
}
}
希望这有帮助
这是我在项目中使用的代码:
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;
}
另一个需要注意的最重要的一点是,您可能需要检查"App.xaml.cs"文件,并在OnLaunch方法中更改
rootFrame.Navigate(typeof(UrPage),e.Arguments);
默认情况下,MainPage.xaml 加载。