Пример #1
0
        public CurvyTabControl()
        {
            tabVisual    = new CurvyTabVisual(this);
            childVisuals = new VisualCollection(this);
            childVisuals.Add(tabVisual.Render());

            this.LayoutUpdated        += new EventHandler(CurvyTabLayoutUpdated);
            this.MouseMove            += new MouseEventHandler(CurvyTabMouseMove);
            this.MouseLeave           += new MouseEventHandler(CurvyTabMouseLeave);
            this.MouseLeftButtonDown  += new MouseButtonEventHandler(CurvyTabMouseLeftButtonDown);
            this.MouseLeftButtonUp    += new MouseButtonEventHandler(CurvyTabMouseLeftButtonUp);
            this.MouseRightButtonDown += new MouseButtonEventHandler(CurvyTabMouseRightButtonDown);
            this.MouseRightButtonUp   += new MouseButtonEventHandler(CurvyTabMouseRightButtonUp);
            this.MouseDown            += new MouseButtonEventHandler(CurvyTabMouseDown);
        }
Пример #2
0
        void CurvyTabMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            e.Handled = true;
            bool overCloseButton = false;

            Point mousePosition = e.GetPosition(sender as IInputElement);

            if (tabVisual.ProcessMouseLeftButtonUp(mousePosition.X, ref overCloseButton))
            {
                if (false != overCloseButton)
                {
                    CloseTabInternal();
                    tabVisual.Render();
                }
            }
        }