OnNavigatedTo 事件显示找不到合适的方法来覆盖 C# UWP
OnNavigatedTo Event show no suitable method found to override C# UWP
我的 App.xaml.cs
当我放置 OnNavigatedTo
事件时显示 "no suitable method found to override" 我不知道为什么,但我希望任何人帮助请告诉我,因为我在很多地方都进行了搜索,但没有获得有关此错误的信息。
namespace Notepad
{
/// <summary>
/// Proporciona un comportamiento específico de la aplicación para complementar la clase Application predeterminada.
/// </summary>
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>
private 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 virtual 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();
}
}
}
您正在尝试将不存在的行为添加到 Application 实例中。
Applicationclass负责封装一个app单例并提供具体的服务,如:
- app entry point, particularly for various activation contracts
- app lifetime management
- app-scoped resources
- unhandled exception detection
Navigated
等事件由 Frame
对象公开,因此如果您希望在所谓的 rootFrame 为其初始页面执行导航时得到通知,您应该拥有它在 OnLaunched
事件处理程序上订阅了 Navigated 事件。
rootFrame.Navigated += OnNavigatedTo;
现在您可以这样添加事件处理程序,
void OnNavigatedTo(object sender, NavigationEventArgs e)
{
System.Diagnostics.Debug.WriteLine("Navigating to the initial application Page!!!");
}
但要点是,如果您想处理有关导航过程的事件,Navigating、Navigated、NavigationStopped 和 NavigationFailed,你必须明白这些是封装到 Frame 对象上的逻辑。
为了创建一个 Frame
可以导航到的内容,您创建一个 class 继承自 Page class,它基本上封装了内容,您可以使用 Frame
实例进行导航。
Microsoft 文档中的片段:
You can override the page OnNavigatedTo, OnNavigatingFrom, and
OnNavigatedFrom methods to perform tasks such as initializing and
saving the page state.
我的 App.xaml.cs
当我放置 OnNavigatedTo
事件时显示 "no suitable method found to override" 我不知道为什么,但我希望任何人帮助请告诉我,因为我在很多地方都进行了搜索,但没有获得有关此错误的信息。
namespace Notepad
{
/// <summary>
/// Proporciona un comportamiento específico de la aplicación para complementar la clase Application predeterminada.
/// </summary>
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>
private 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 virtual 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();
}
}
}
您正在尝试将不存在的行为添加到 Application 实例中。 Applicationclass负责封装一个app单例并提供具体的服务,如:
- app entry point, particularly for various activation contracts
- app lifetime management
- app-scoped resources
- unhandled exception detection
Navigated
等事件由 Frame
对象公开,因此如果您希望在所谓的 rootFrame 为其初始页面执行导航时得到通知,您应该拥有它在 OnLaunched
事件处理程序上订阅了 Navigated 事件。
rootFrame.Navigated += OnNavigatedTo;
现在您可以这样添加事件处理程序,
void OnNavigatedTo(object sender, NavigationEventArgs e)
{
System.Diagnostics.Debug.WriteLine("Navigating to the initial application Page!!!");
}
但要点是,如果您想处理有关导航过程的事件,Navigating、Navigated、NavigationStopped 和 NavigationFailed,你必须明白这些是封装到 Frame 对象上的逻辑。
为了创建一个 Frame
可以导航到的内容,您创建一个 class 继承自 Page class,它基本上封装了内容,您可以使用 Frame
实例进行导航。
Microsoft 文档中的片段:
You can override the page OnNavigatedTo, OnNavigatingFrom, and OnNavigatedFrom methods to perform tasks such as initializing and saving the page state.