Example #1
0
 public RegisteredElementForEmptyTextValidation(FrameworkElement element, IFormKeyboardFocusChanged form, Func <string> textFunction, bool ignoreFocus = false)
 {
     Element           = element;
     FocusScopeElement = form;
     TextFunction      = textFunction;
     GotFocusOnce      = ignoreFocus;
 }
Example #2
0
        public static void UnregisterFromEmptyTextValidation(IFormKeyboardFocusChanged form)
        {
            List <RegisteredElementForEmptyTextValidation> elementsToRemove =
                RegisteredElementsForEmptyTextValidation.Where(s => s.FocusScopeElement == form).ToList();

            //
            // Notice that all this code controls the attached property InfoBalloon.IsOpen on autocompleteboxes,
            // textboxes etc that registered.
            // Don't forget to reset this property when unregistering.
            //
            elementsToRemove.ForEach(e => e.Element.ClearValue(IsOpenProperty));
            elementsToRemove.ForEach(e => RegisteredElementsForEmptyTextValidation.Remove(e));
        }
Example #3
0
 public static void RegisterForAutomaticEmptyTextValidation(
     FrameworkElement element,
     Func <string> textFunc,
     IFormKeyboardFocusChanged form,
     bool ignoreFocus = false
     )
 {
     if (form != null && RegisteredElementsForEmptyTextValidation.All(s => s.FocusScopeElement != form))
     {
         form.KeyboardFocusForValidationChanged += OnKeyboardFocusChanged;
     }
     RegisterForEmptyTextValidation(element, textFunc, form, ignoreFocus);
 }
Example #4
0
 public static void RegisterForEmptyTextValidation(
     FrameworkElement element,
     Func <string> textFunc,
     IFormKeyboardFocusChanged form,
     bool ignoreFocus = false
     )
 {
     if (RegisteredElementsForEmptyTextValidation.All(s => s.Element != element))
     {
         RegisteredElementsForEmptyTextValidation.Add(
             new RegisteredElementForEmptyTextValidation(element, form, textFunc, ignoreFocus)
             );
     }
 }
Example #5
0
 public static void UnregisterFromAutomaticEmptyTextValidation(IFormKeyboardFocusChanged form)
 {
     UnregisterFromEmptyTextValidation(form);
     form.KeyboardFocusForValidationChanged -= OnKeyboardFocusChanged;
 }