本文介绍了OnNavigatedTo事件不起作用,我找不到合适的方法来覆盖UWP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在App.xalm.cs中,并且我将OnNavigatedTo事件放入,视觉工作室向我显示"找不到合适的方法来覆盖"。


这是我的代码(问题是OnNavigatedTo事件):


密封的部分类App:Application 
{
///< summary>
/// Inicializa el objetodeaplicaciónSingleton。 Esta es laprimeralíneadecódigocreado
/// ejecutado y,como tal,es elequivalentelógicodeMain()o WinMain()。
///< / summary>
public App()
{
this.InitializeComponent();
this.Suspending + = OnSuspending;
}

///< summary>
/// Se invoca cuando el usuario final inicialaaplicaciónnormalmente。 Seusánotrospuntos
/// de entrada cuandolaaplicaciónseinicie para abrir unarchivoespecífico,por ejemplo。
///< / summary>
///< param name =" e">Informacióndetalladaacerca de la solicitud y el proceso de inicio。< / param>
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
Frame rootFrame = Window.Current.Content as Frame;

//没有任何重复信息,但是b $ b // solo asegurarse de que laventanaestáactiva。
if(rootFrame == null)
{
// Crear un marco paraqueactúecomocontextodenavegaciónynavegar a laprimerapágina。
rootFrame = new Frame();

rootFrame.NavigationFailed + = OnNavigationFailed;

if(e.PreviousExecutionState == ApplicationExecutionState.Terminated)
{
// TODO:Cargar el estado delaaplicacióninpendalidapreviamente
}

// Poner el marco en la ventana实际。
Window.Current.Content = rootFrame;
}

if(e.PrelaunchActivated == false)
{
if(rootFrame.Content == null)
{
/ / Cuando no se restaura la piladenavegación,navegar a laprimerapágina,
// configurando lanuevapáginapasándolelainformaciónrequeridacomo
//parámetrodenavegación
rootFrame.Navigate(typeof( MainPage),e .Arguments);

}
// Asegurarse de que la ventanaactualestáactiva。
Window.Current.Activate();
}

}



///< summary>
/// Se invoca cuandolaaplicaciónlainicia normalmente el usuario final。 Seusaránotrospuntos
///< / summary>
///< param name =" sender"> Marco que produjo el errordenavegación< / param>
///< param name =" e"> Detalles sobre el errordenavegación< / param>
void OnNavigationFailed(object sender,NavigationFailedEventArgs e)
{
抛出新异常("无法加载页面"+ e.SourcePageType.FullName);
}


protected override void OnFileActivated(FileActivatedEventArgs args)
{
base.OnFileActivated(args);
var rootFrame = new Frame();
rootFrame.Navigate(typeof(MainPage),args);
Window.Current.Content = rootFrame;
Window.Current.Activate();
}

protected override void OnNavigatedTo(NavigationEventArgs e)
{

}
///< summary>
/// Se invoca al suspenderlaejecucióndelaaplicación。 El estado delaaplicaciónseguarda
/// sin saber silaaplicaciónseterminaráosereanudaráconel contenido
/// de lamemoriaúnunovouro。
///< / summary>
///< param name =" sender"> Origen de la solicituddeinpennsión。< / param>
///< param name =" e"> Detalles sobre la solicituddeintensnsión。< / param>
private void OnSuspending(object sender,SuspendingEventArgs e)
{
var deferral = e.SuspendingOperation.GetDeferral();
// TODO:Guardar el estado delaaplicaciónydetener toda actividad en segundo plano
deferral.Complete();
}




Miguel Genaro Rodr& amp;#237; guez Garc& amp;#237; a

解决方案

I am in the App.xalm.cs and I put the event of OnNavigatedTo, and the visual studio show me "No suitable method found to override".

This is my code (The problem is OnNavigatedTo Event):

 sealed partial class App : Application
    {
        /// <summary>
        /// Inicializa el objeto de aplicación Singleton. Esta es la primera línea de código creado
        /// ejecutado y, como tal, es el equivalente lógico de main() o WinMain().
        /// </summary>
        public App()
        {
            this.InitializeComponent();
            this.Suspending += OnSuspending;
        }

        /// <summary>
        /// Se invoca cuando el usuario final inicia la aplicación normalmente. Se usarán otros puntos
        /// de entrada cuando la aplicación se inicie para abrir un archivo específico, por ejemplo.
        /// </summary>
        /// <param name="e">Información detallada acerca de la solicitud y el proceso de inicio.</param>
        protected override void OnLaunched(LaunchActivatedEventArgs e)
        {
            Frame rootFrame = Window.Current.Content as Frame;

            // No repetir la inicialización de la aplicación si la ventana tiene contenido todavía,
            // solo asegurarse de que la ventana está activa.
            if (rootFrame == null)
            {
                // Crear un marco para que actúe como contexto de navegación y navegar a la primera página.
                rootFrame = new Frame();

                rootFrame.NavigationFailed += OnNavigationFailed;

                if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
                {
                    //TODO: Cargar el estado de la aplicación suspendida previamente
                }

                // Poner el marco en la ventana actual.
                Window.Current.Content = rootFrame;
            }

            if (e.PrelaunchActivated == false)
            {
                if (rootFrame.Content == null)
                {
                    // Cuando no se restaura la pila de navegación, navegar a la primera página,
                    // configurando la nueva página pasándole la información requerida como
                    //parámetro de navegación
                    rootFrame.Navigate(typeof(MainPage), e.Arguments);

                }
                // Asegurarse de que la ventana actual está activa.
                Window.Current.Activate();
            }

        }



        /// <summary>
        /// Se invoca cuando la aplicación la inicia normalmente el usuario final. Se usarán otros puntos
        /// </summary>
        /// <param name="sender">Marco que produjo el error de navegación</param>
        /// <param name="e">Detalles sobre el error de navegación</param>
        void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
        {
            throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
        }


        protected override void OnFileActivated(FileActivatedEventArgs args)
        {
            base.OnFileActivated(args);
            var rootFrame = new Frame();
            rootFrame.Navigate(typeof(MainPage), args);
            Window.Current.Content = rootFrame;
            Window.Current.Activate();
        }

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {

        }
        /// <summary>
        /// Se invoca al suspender la ejecución de la aplicación. El estado de la aplicación se guarda
        /// sin saber si la aplicación se terminará o se reanudará con el contenido
        /// de la memoria aún intacto.
        /// </summary>
        /// <param name="sender">Origen de la solicitud de suspensión.</param>
        /// <param name="e">Detalles sobre la solicitud de suspensión.</param>
        private void OnSuspending(object sender, SuspendingEventArgs e)
        {
            var deferral = e.SuspendingOperation.GetDeferral();
            //TODO: Guardar el estado de la aplicación y detener toda actividad en segundo plano
            deferral.Complete();
        }

Miguel Genaro Rodr&amp;#237;guez Garc&amp;#237;a

解决方案


这篇关于OnNavigatedTo事件不起作用,我找不到合适的方法来覆盖UWP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-26 12:49