Ste*_*han 2 uiviewcontroller xamarin.ios segue mvvmcross
我正在尝试从 XIB 或情节提要(使用 MvvmCross 5.0.6)加载 ViewModel 绑定的 ViewController。我的应用程序的逻辑是这样的:该视图控制器不属于标准根/子导航模式,我需要能够动态实例化它。
如果没有 MvvmCross,我可以轻松地在 Xamarin.iOS 中使用 Segues,但 MvvmCross 似乎不适用于 Segues(除非我误解了某些内容)。
如何实例化视图控制器,以便将其绑定到其视图模型,并且可以将其传递给 UIViewController.AddChildViewController() 等方法?
我已尝试以下操作,但会导致 NullReferenceException (在 MvxViewModelLoader.LoadViewModel(MvxViewModelRequest request, IMvxBundle savingState) 处):
var vmRequest = new MvxViewModelRequest(typeof(MyVcViewModel));
var myVc = (segue.DestinationViewController as MvxViewController).CreateViewControllerFor<MyVcViewModel>(vmRequest) as MyVc;
this.AddChildViewController(myVc);
Run Code Online (Sandbox Code Playgroud)
你把 绑定MyVcViewModel到你的了MyVc吗?如果MyVc可以成功用作根/子导航模式,请尝试将其显示为内容(也许您可以将其放入ViewDidLoad()事件中):
var vmRequest = MvxViewModelRequest.GetDefaultRequest(typeof(MyVcViewModel));
var viewController = new MvxViewController();
var myView = viewController.CreateViewControllerFor<MyVcViewModel>(vmRequest) as MyVc;
myView.View.Frame = new CGRect(0, 0, 200, 200);
AddChildViewController(myView);
View.AddSubview(myView.View);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
583 次 |
| 最近记录: |