Inheritance: System.Windows.Controls.Control, IWeakEventListener
Exemplo n.º 1
0
        /// <summary>
        /// Clear the event, and detach our current EditableTextBox from ComboBox
        /// </summary>
        private void DetachFromVisualTree()
        {
            if (EditableTextBoxSite != null)
            {
                EditableTextBoxSite.LostKeyboardFocus -= new KeyboardFocusChangedEventHandler(OnEditableTextBoxLostFocus);
                EditableTextBoxSite.KeyDown -= new KeyEventHandler(OnEditableTextBoxKeyDown);
                EditableTextBoxSite.TextChanged -= new TextChangedEventHandler(OnEditableTextBoxTextChanged);
                EditableTextBoxSite = null;
            }

            if (MonthCalendar != null)
            {
                MonthCalendar.DateSelectionChanged -= new DateSelectionChangedEventHandler(OnDateSelectionChanged);
                MonthCalendar.VisibleMonthChanged -= new RoutedPropertyChangedEventHandler<DateTime>(OnMonthCalendarVisibleMonthChanged);
                CommandManager.RemovePreviewExecutedHandler(MonthCalendar, new ExecutedRoutedEventHandler(OnMonthCalendarCommandPreviewExecuted));
                MonthCalendar = null;
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Create a new SelectionChanger -- there should only be one instance per MonthCalendar.
 /// </summary>
 internal SelectionChanger(MonthCalendar mcc)
 {
     Debug.Assert(mcc != null);
     _owner = mcc;
     InitFlags();
     _toSelect = new List<DateTime>(1);
     _toRestoreSelect = new List<DateTime>(1);
     _toUnselect = new List<DateTime>(1);
 }
Exemplo n.º 3
0
        /// <summary>
        /// Detaches the EditableTextBox, MonthCalendar from old child tree and attaches them to a new one
        /// </summary>
        private void AttachToVisualTree()
        {
            DetachFromVisualTree();

            EditableTextBoxSite = GetTemplateChild(c_EditableTextBoxTemplateName) as TextBox;
            if (EditableTextBoxSite != null)
            {
                EditableTextBoxSite.LostKeyboardFocus += new KeyboardFocusChangedEventHandler(OnEditableTextBoxLostFocus);
                EditableTextBoxSite.KeyDown += new KeyEventHandler(OnEditableTextBoxKeyDown);
                EditableTextBoxSite.TextChanged += new TextChangedEventHandler(OnEditableTextBoxTextChanged);

                if (CanEdit)//set Text to EditableTextBoxSite.Text in editable mode
                {
                    UpdateEditableTextBox(Text);
                }
            }

            MonthCalendar = GetTemplateChild(c_DatePickerCalendarTemplateName) as MonthCalendar;
            if (MonthCalendar != null)
            {
                MonthCalendar.DateSelectionChanged += new DateSelectionChangedEventHandler(OnDateSelectionChanged);
                MonthCalendar.VisibleMonthChanged += new RoutedPropertyChangedEventHandler<DateTime>(OnMonthCalendarVisibleMonthChanged);
                CommandManager.AddPreviewExecutedHandler(MonthCalendar, new ExecutedRoutedEventHandler(OnMonthCalendarCommandPreviewExecuted));
            }

            RefreshDropDownButtonStyle();
        }