protected override void OnActivated() {
     if (ShouldUseCustomImplementation(View as ListView)) {
         _openObjectImplementation = new OpenObjectFromListView(this);
         _openObjectImplementation.ObjectToOpenChanged += openObjectImplementation_ObjectToOpenChanged;
         _openObjectImplementation.OnControllerActivated();
     } else {
         base.OnActivated();
     }
 }
 protected override void OnDeactivated() {
     var listView = View as ListView;
     if (listView != null) {
         if (listView.Editor is GridView.GridListEditorBase) {
             _openObjectImplementation.OnControllerDeactivated();
             _openObjectImplementation.ObjectToOpenChanged -= openObjectImplementation_ObjectToOpenChanged;
             _openObjectImplementation = null;
         }
     } else {
         base.OnDeactivated();
     }
 }
 protected override void OnActivated()
 {
     if (ShouldUseCustomImplementation(View as ListView))
     {
         _openObjectImplementation = new OpenObjectFromListView(this);
         _openObjectImplementation.ObjectToOpenChanged += openObjectImplementation_ObjectToOpenChanged;
         _openObjectImplementation.OnControllerActivated();
     }
     else
     {
         base.OnActivated();
     }
 }
        protected override void OnDeactivated()
        {
            var listView = View as ListView;

            if (listView != null)
            {
                if (listView.Editor is GridView.GridListEditorBase)
                {
                    _openObjectImplementation.OnControllerDeactivated();
                    _openObjectImplementation.ObjectToOpenChanged -= openObjectImplementation_ObjectToOpenChanged;
                    _openObjectImplementation = null;
                }
            }
            else
            {
                base.OnDeactivated();
            }
        }