本文介绍了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&#237;guez Garc&#237;a
解决方案
这篇关于OnNavigatedTo事件不起作用,我找不到合适的方法来覆盖UWP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!