Exemplo n.º 1
0
 protected override void OnWindowlessClick(WindowlessControlHost sender, WindowlessMouseEventArgs e)
 {
     base.OnWindowlessClick(sender, e);
     if (!e.Handled)
     {
         Checked = !Checked;
     }
 }
Exemplo n.º 2
0
 void OnCheckedChanged(object sender, DependencyPropertyEventArgs e)
 {
     WindowlessControlHost.WindowlessInvalidate(this);
     if (CheckedChanged != null)
     {
         CheckedChanged(this);
     }
 }
Exemplo n.º 3
0
        protected override void OnWindowlessLostFocus(WindowlessControlHost sender, EventArgs e)
        {
            base.OnWindowlessLostFocus(sender, e);

            if (!HasEditFocus && IsEditing)
            {
                IsEditing = false;
            }
        }
Exemplo n.º 4
0
        //protected override void OnWindowlessKeyPress(Control sender, KeyPressEventArgs e)
        //{
        //    base.OnWindowlessKeyPress(sender, e);

        //    if (!e.Handled && e.KeyChar == '\r')
        //    {
        //        IsEditing = !IsEditing;
        //    }
        //}

        protected override void OnWindowlessClick(WindowlessControlHost sender, WindowlessMouseEventArgs e)
        {
            if (!e.Handled)
            {
                e.Handled = true;
                IsEditing = !IsEditing;
            }
            base.OnWindowlessClick(sender, e);
        }
Exemplo n.º 5
0
        public void PositionControl()
        {
            Control topLevelControl = WindowlessControlHost.GetHost(myDropdownSource).TopLevelControl;

            if (Parent != topLevelControl)
            {
                Parent = topLevelControl;
            }

            Point topLeft    = WindowlessPointToForm(myDropdownSource, Point.Empty);
            Point bottomLeft = WindowlessPointToForm(myDropdownSource, new Point(0, myDropdownSource.Height));

            int bottomSpaceAvailable = topLevelControl.Height - bottomLeft.Y;
            int maxHeight            = Math.Max(topLeft.Y, bottomSpaceAvailable);
            //int maxWidth = TopLevelControl.Width - topLeft.X;
            int maxWidth = myDropdownSource.Width;


            Width  = maxWidth;
            Height = maxHeight;
            Remeasure();

            Size newClientSize = ClientSize;

            if (Control.Height < ClientSize.Height)
            {
                newClientSize.Height = Control.Height;
            }

            if (Control.Width < ClientSize.Width)
            {
                newClientSize.Width = Control.Width;
            }

            if (newClientSize != ClientSize)
            {
                ClientSize = newClientSize;
            }

            if (Height < bottomSpaceAvailable || bottomSpaceAvailable >= topLeft.Y)
            {
                Location = bottomLeft;
            }
            else
            {
                Location = topLeft;
            }

            BringToFront();
        }
Exemplo n.º 6
0
        public DropdownControl(WindowlessControlHost dropdownSource, IWindowlessControl dropdownContent)
        {
            AutoScroll       = true;
            Orientation      = Orientation.Vertical;
            myDropdownSource = dropdownSource;

            OverlayPanel        overlay   = new OverlayPanel();
            WindowlessRectangle rectangle = new WindowlessRectangle();

            rectangle.Color  = SystemColors.ControlDarkDark;
            rectangle.Filled = false;
            overlay.Controls.Add(rectangle);

            OverlayPanel inner = new OverlayPanel();

            inner.Margin = new Thickness(1, 1, 1, 1);
            inner.Controls.Add(dropdownContent);
            overlay.Controls.Add(inner);
            overlay.FitHeightControl = overlay.FitWidthControl = inner;
            Control = overlay;
        }
Exemplo n.º 7
0
 void myDropdown_WindowlessClick(WindowlessControlHost sender, WindowlessMouseEventArgs e)
 {
     Content   = myItemsControl.CurrentSelection;
     IsEditing = false;
 }