예제 #1
0
            private void TryFocus(bool wait)
            {
                if (wait)
                {
                    QueryState = QueryFocusState.Wait;
                }

                if (QueryState == QueryFocusState.Wait)
                {
                    QueryState = EnsureFocusWithinImpl() ? QueryFocusState.Got : QueryFocusState.Wait;
                }

                if (QueryState == QueryFocusState.Wait)
                {
                    Element.InvokeOnLayoutUpdate(() => TryFocus(false));
                }

                if (QueryState == QueryFocusState.Got && wait == false)
                {
                    QueryFocusHelpers.Remove(this);
                }
            }
예제 #2
0
 public void Cancel()
 {
     QueryState = QueryFocusState.None;
     QueryFocusHelpers.Remove(this);
 }