public ComboSearch()
        {
            InitializeComponent();

            DefaultGlyphStyle = new Style
            {
                TargetType = typeof(Path),
                Setters    =
                {
                    new Setter(Shape.FillProperty, new DynamicResourceExtension(CommonControlsColors.TextBoxTextBrushKey))
                },
                Triggers =
                {
                    new DataTrigger
                    {
                        Binding = new Binding
                        {
                            Source = this,
                            Path   = new PropertyPath(nameof(IsMouseOver))
                        },
                        Setters =
                        {
                            new Setter(Shape.FillProperty, new DynamicResourceExtension(CommonControlsColors.ComboBoxGlyphPressedBrushKey))
                        }
                    }
                }
            };

            GlyphStyle = DefaultGlyphStyle;
            SearchBox.AddHandler(GotKeyboardFocusEvent, (RoutedEventHandler)SearchBoxGotKeyboardFocus, true);
            SearchBox.AddHandler(MouseDoubleClickEvent, (RoutedEventHandler)SearchBoxGotKeyboardFocus, true);
            SearchBox.AddHandler(PreviewMouseLeftButtonUpEvent, (RoutedEventHandler)SearchBoxGotKeyboardFocus, true);
            SearchBox.AddHandler(LostFocusEvent, (RoutedEventHandler)SearchBoxLostFocus, true);
        }
 private void SearchBoxLostFocus(object sender, RoutedEventArgs e)
 {
     SearchBox.AddHandler(PreviewMouseLeftButtonUpEvent, (RoutedEventHandler)SearchBoxGotKeyboardFocus, true);
 }