wpf prism onnavigatedto 什么时候被调用,代码示例
时间: 2024-01-16 09:02:36 浏览: 41
`OnNavigatedTo` 是 `INavigationAware` 接口中的一个方法,当使用 Prism 时,如果 ViewModel 实现了 `INavigationAware` 接口,则 `OnNavigatedTo` 方法会在导航到该 ViewModel 时被调用。此时可以在该方法中执行一些初始化操作。
下面是一个简单的示例代码:
```csharp
using Prism.Mvvm;
using Prism.Navigation;
using System;
public class MyViewModel : BindableBase, INavigationAware
{
private string _message;
public string Message
{
get { return _message; }
set { SetProperty(ref _message, value); }
}
public void OnNavigatedFrom(INavigationParameters parameters)
{
// Do something when navigating away from the viewmodel
}
public void OnNavigatedTo(INavigationParameters parameters)
{
if (parameters.ContainsKey("message"))
{
Message = (string)parameters["message"];
Console.WriteLine($"Received message: {Message}");
}
}
public void OnNavigatingTo(INavigationParameters parameters)
{
// Do something before navigating to the viewmodel
}
}
```
在上面的示例中,当导航到 `MyViewModel` 时,`OnNavigatedTo` 方法会被调用,它会从导航参数中获取消息并将其分配给 ViewModel 的 `Message` 属性。同时,它还会将消息打印到控制台。