private static void GrabFocus(Focusable focusable, Focusable willTakeFocusFrom, FocusChangeDirection direction)
        {
            FocusEvent pooled = FocusEventBase <FocusEvent> .GetPooled(focusable, willTakeFocusFrom, direction);

            UIElementsUtility.eventDispatcher.DispatchEvent(pooled, null);
            EventBase <FocusEvent> .ReleasePooled(pooled);
        }
 private static void AboutToGrabFocus(Focusable focusable, Focusable willTakeFocusFrom, FocusChangeDirection direction)
 {
     using (FocusInEvent pooled = FocusEventBase <FocusInEvent> .GetPooled(focusable, willTakeFocusFrom, direction))
     {
         UIElementsUtility.eventDispatcher.DispatchEvent(pooled, null);
     }
 }
        private static void ReleaseFocus(Focusable focusable, Focusable willGiveFocusTo, FocusChangeDirection direction)
        {
            BlurEvent pooled = FocusEventBase <BlurEvent> .GetPooled(focusable, willGiveFocusTo, direction);

            UIElementsUtility.eventDispatcher.DispatchEvent(pooled, null);
            EventBase <BlurEvent> .ReleasePooled(pooled);
        }
 private static void AboutToReleaseFocus(Focusable focusable, Focusable willGiveFocusTo, FocusChangeDirection direction)
 {
     using (FocusOutEvent pooled = FocusEventBase <FocusOutEvent> .GetPooled(focusable, willGiveFocusTo, direction))
     {
         UIElementsUtility.eventDispatcher.DispatchEvent(pooled, null);
     }
 }