/// <summary> /// 引发 <see cref="RequestQuery" /> 事件 /// </summary> public virtual string OnRequestQuery(bool resetCount = true) { if (!IsLoaded) { return("Query has been unloaded."); } var msg = CanQuery(); if (msg.IsNullOrEmpty()) { if (resetCount) { CurrentAlternativeIndex = null; QueryCount = 0; } else { if (AlternativeDate.Count > 0) { var nindex = (CurrentAlternativeIndex ?? -1) + 1; if (nindex >= AlternativeDate.Count) { CurrentAlternativeIndex = null; } else { CurrentAlternativeIndex = nindex; } } } RequestQuery?.Invoke(this, new GeneralEventArgs <bool>(resetCount)); } return(msg); }