public void BindController(ILayerListPresenter controller) { if (_controller == controller) { return; } if (_controller != null) { _controller.SyncLayerList -= SyncLayerListHandler; _controller.SyncLayerSelection -= SyncLayerSelectionHandler; } _controller = controller; if (_controller != null) { _controller.SyncLayerList += SyncLayerListHandler; _controller.SyncLayerSelection += SyncLayerSelectionHandler; _commandController.BindCommandManager(_controller.CommandManager); SyncLayerList(); SyncLayerSelection(); } else { _commandController.BindCommandManager(null); ResetComponent(); } }