无法在 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 中定义。

无法在 Windows Phone 8.1 中单击按钮时导航到另一个页面

我认为您缺少指令或程序集引用?

对于窗口电话 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 加载。