/// <summary> /// 应用新状态的修改 /// </summary> /// <param name="newState">新状态</param> /// <param name="changeType">状态变换种类</param> /// <param name="isNeededKeyCheck"></param> /// <returns>应用是否成功</returns> protected bool Apply(MaskManagerState newState, StateChangeType changeType, bool isNeededKeyCheck) { if (!IsValid(newState)) { return(false); } if (newState.IsSame(CurrentState)) { return(false); } string editText = GetEditText(newState); if (!isNeededKeyCheck) { if (GetCurrentEditText() != editText) { if (!RaiseEditTextChanging(editText)) { return(false); } ApplyInternal(newState, changeType); base.RaiseEditTextChanged(); } else { ApplyInternal(newState, changeType); } } return(true); }