protected FileSourceView(IAlertDialogFactory alertDialogFactory) { _alertDialogFactory = alertDialogFactory; this.WhenViewModel(x => x.ShowMenuCommand) .Select(x => x.ToBarButtonItem(UIBarButtonSystemItem.Action)) .Subscribe(x => NavigationItem.RightBarButtonItem = x); this.WhenViewModel(x => x.OpenWithCommand) .Switch() .Subscribe(_ => { UIDocumentInteractionController ctrl = UIDocumentInteractionController.FromUrl(new NSUrl(ViewModel.SourceItem.FileUri.AbsoluteUri)); ctrl.Delegate = new UIDocumentInteractionControllerDelegate(); var couldOpen = ctrl.PresentOpenInMenu(NavigationItem.RightBarButtonItem, true); if (!couldOpen) { alertDialogFactory.ShowError("Nothing to open with"); } }); }