Beispiel #1
0
        private void UnbindCycle(ref IUnbindable controller)
        {
            try
            {
                var viewModel = (controller.ViewModel as IBaseViewModel);
                if (viewModel != null)
                {
                    viewModel.Unbind();
                    viewModel.DisposeIfDisposable();
                    viewModel = null;
                }

                controller.Unbind();

                controller.ViewModel.DisposeIfDisposable();
                controller.ViewModel = null;

                var bindingContextOwner = controller as IMvxBindingContextOwner;
                if (bindingContextOwner != null)
                {
                    bindingContextOwner?.ClearAllBindings();
                }

                controller.DisposeIfDisposable();
                controller = null;
            }
            catch {}
        }
 public override void UnbindFrom(IUnbindable them)
 {
     base.UnbindFrom(them);
     IsBound = false;
 }