Example #1
0
        private static void FrameworkElementGotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
        {
            var frameworkElement = sender as FrameworkElement;

            if (frameworkElement != null)
            {
                if (popupCalControl == null)
                {
                    popupCalControl = new CalendarPopupControl();
                }

                popupCalControl.TargetTextBox = GetTargetTextBox(frameworkElement);
                popupCalControl.IsOpen        = true;
            }
        }
Example #2
0
        private static void FrameworkElementLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
        {
            var frameworkElement = sender as FrameworkElement;

            if (frameworkElement != null)
            {
                if (popupCalControl != null)
                {
                    // Retrieves the setting for the State property
                    SetState(frameworkElement, popupCalControl.State);

                    popupCalControl.IsOpen = false;
                    popupCalControl        = null;
                }
            }
        }
Example #3
0
        private static void OnPlacementTargetChanged(DependencyObject element, DependencyPropertyChangedEventArgs e)
        {
            var frameworkElement = element as FrameworkElement;

            if (popupCalControl == null)
            {
                popupCalControl = new CalendarPopupControl();
            }
            if ((frameworkElement != null) && (popupCalControl != null))
            {
                popupCalControl.TargetTextBox = GetTargetTextBox(frameworkElement);
                frameworkElement.AddHandler(UIElement.GotKeyboardFocusEvent,
                                            new KeyboardFocusChangedEventHandler(FrameworkElementGotKeyboardFocus),
                                            true);
                frameworkElement.AddHandler(UIElement.LostKeyboardFocusEvent,
                                            new KeyboardFocusChangedEventHandler(FrameworkElementLostKeyboardFocus),
                                            true);
            }
        }