private static void OnIsOpenChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            RadDropDownButton button = d as RadDropDownButton;

            if (button != null)
            {
                bool newValue = (bool)e.NewValue;
                if (newValue)
                {
                    RadRoutedEventArgs args = button.RaisePopupOpening();
                    if (args.Handled)
                    {
                        button.IsOpen = false;
                        return;
                    }
                }
                if (newValue)
                {
                    button.OpenPopup();
                }
                else
                {
                    if (button.IsBrowserHosted)
                    {
                        button.popupAdorner.Close();
                        button.RaisePopupClosed();
                    }
                }
            }
        }
        private static void OnDropDownContentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            RadDropDownButton button = d as RadDropDownButton;

            if (button != null)
            {
                button.OnDropDownContentChanged(e.OldValue, e.NewValue);
            }
        }
        private static void OnAutoOpenDelayChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            RadDropDownButton button = d as RadDropDownButton;

            if (button != null)
            {
                button.HoverDelay = button.AutoOpenDelay;
            }
        }