我发现使用Objective-c询问了此问题,但无法将其转换为C#
基本上我想这样做:
public override void ReceivedRemoteNotification (UIApplication application, NSDictionary userInfo)
{
string alert = (aps[new NSString("alert")] as NSString).ToString();
Debug.WriteLine ("I want to open a specific ViewController and pass in my alert");
}
我实际上是在使用mvvmcross来管理我的视图导航。因此,理想情况下,我想以某种方式使用mvvmcross来实现此导航。在mvvmcross中,我将通过执行以下操作导航至ViewControler:
this.ShowViewModel<SpecificControllerViewModel>();
谢谢
如果您查看ShowViewModel()的参数,它可以将值传递给视图模型
这说明这里并提供范例
您可以通过几种方式实现这一目标。您可以使用自定义消息。视图模型可以注册以接收消息,并且您可以从MvvmCross中的“ReceivedRemoteNotification
阅读有关Messenger的此处阅读”中发送消息。
或者,您可以调用ShowViewModel。如果您在这里查看ShowViewModel的实现方式,它使用IMvxViewDispatcher
单例服务,因此您可以使用以下实用程序方法:
static void ShowViewModel<T>(object parameter) where T : IMvxViewModel
{
var viewDispatcher = Mvx.Resolve<IMvxViewDispatcher>();
var request = MvxViewModelRequest.GetDefaultRequest(typeof(T));
request.ParameterValues = ((object)parameter).ToSimplePropertyDictionary();
viewDispatcher.ShowViewModel(request);
}
我认为即使在应用未运行时收到通知的情况下,第二种方法也可以工作(由接收FinishedLaunching
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句