public override void ViewDidLoad() { base.ViewDidLoad(); _segmentBarButton = new UIBarButtonItem(_viewSegment); _segmentBarButton.Width = View.Frame.Width - 10f; ToolbarItems = new [] { new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), _segmentBarButton, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace) }; var vm = (MyIssuesViewModel)ViewModel; var weakVm = new WeakReference <MyIssuesViewModel>(vm); vm.Bind(x => x.SelectedFilter).Subscribe(x => { var goodVm = weakVm.Get(); if (x == 2 && goodVm != null) { var filter = new CodeHub.iOS.Views.Filters.MyIssuesFilterViewController(goodVm.Issues); var nav = new UINavigationController(filter); PresentViewController(nav, true, null); } // If there is searching going on. Finish it. FinishSearch(); }); this.BindCollection(vm.Issues, CreateElement); OnActivation(d => { d(vm.Bind(x => x.SelectedFilter, true).Subscribe(x => _viewSegment.SelectedSegment = (nint)x)); d(_viewSegment.GetChangedObservable().Subscribe(x => vm.SelectedFilter = x)); }); }
public override void ViewDidLoad() { base.ViewDidLoad(); _segmentBarButton = new UIBarButtonItem(_viewSegment); _segmentBarButton.Width = View.Frame.Width - 10f; ToolbarItems = new [] { new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), _segmentBarButton, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace) }; var vm = (MyIssuesViewModel)ViewModel; var weakVm = new WeakReference<MyIssuesViewModel>(vm); vm.Bind(x => x.SelectedFilter).Subscribe(x => { var goodVm = weakVm.Get(); if (x == 2 && goodVm != null) { var filter = new CodeHub.iOS.Views.Filters.MyIssuesFilterViewController(goodVm.Issues); var nav = new UINavigationController(filter); PresentViewController(nav, true, null); } // If there is searching going on. Finish it. FinishSearch(); }); this.BindCollection(vm.Issues, CreateElement); OnActivation(d => { d(vm.Bind(x => x.SelectedFilter, true).Subscribe(x => _viewSegment.SelectedSegment = (nint)x)); d(_viewSegment.GetChangedObservable().Subscribe(x => vm.SelectedFilter = x)); }); }