protected override void OnInstanceChanged(VoxelModelInstance prev) { if (prev != null) { prev.StateChanged -= ModelInstanceOnStateChanged; } if (ModelInstance != null) { var newState = IsOpen ? OpenedState : ClosedState; if (!string.IsNullOrEmpty(newState)) { ModelInstance.SetState(newState); } ModelInstance.StateChanged += ModelInstanceOnStateChanged; } }
protected override void OnInstanceChanged(VoxelModelInstance prev) { if (ModelInstance != null) { if (base.Locked) { if (!string.IsNullOrEmpty(OpenedState)) { ModelInstance.SetState(OpenedState); } } else { if (!string.IsNullOrEmpty(ClosedState)) { ModelInstance.SetState(ClosedState); } } } }