private void SetState(CustomPanelBindingState state)
 {
     if (state != m_state)
     {
         m_state = state;
         this.NotifyPropertyChanged(nameof(State));
     }
 }
 internal CustomPanelInstanceData(CustomPanelType type, IObjectContainer container)
 {
     m_type            = type;
     m_objectContainer = container;
     m_state           = (container.Object != null) ? CustomPanelBindingState.Bound : CustomPanelBindingState.BoundWithoutObject;
 }
 internal CustomPanelInstanceData(CustomPanelType type, string target)
 {
     m_type         = type;
     m_targetObject = target;
     m_state        = CustomPanelBindingState.BoundWithoutObject;
 }
 internal CustomPanelInstanceData(string type, string target)
 {
     m_typeName     = type;
     m_targetObject = target;
     m_state        = (String.IsNullOrEmpty(target)) ? CustomPanelBindingState.NotBindable : CustomPanelBindingState.NotBound;
 }
 internal CustomPanelInstanceData(CustomPanelType type)
 {
     m_type  = type;
     m_state = type.IsObjectPanel ? CustomPanelBindingState.NotBound : CustomPanelBindingState.NotBindable;
 }