public static void AddMouseHorizontalWheelHandler(DependencyObject d, MouseHorizontalWheelEventHandler handler)
        {
            var uie = d as UIElement;

            if (uie != null)
            {
                uie.AddHandler(MouseHorizontalWheelEvent, handler);

                if (AutoEnableMouseHorizontalWheelSupport)
                {
                    EnableMouseHorizontalWheelSupportForParentOf(uie);
                }
            }
        }
        public static void RemoveMouseHorizontalWheelHandler(DependencyObject d, MouseHorizontalWheelEventHandler handler)
        {
            var uie = d as UIElement;

            uie?.RemoveHandler(MouseHorizontalWheelEvent, handler);
        }
    protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget)
    {
        MouseHorizontalWheelEventHandler handler = (MouseHorizontalWheelEventHandler)genericHandler;

        handler(genericTarget, this);
    }