Ejemplo n.º 1
0
            void UpdatePadding(MetroWindow window)
            {
                Debug.Assert(window != null);

                var state = window.IsFullScreen ? WindowState.Maximized : window.WindowState;
                switch (state) {
                default:
                case WindowState.Normal:
                    border.ClearValue(Border.PaddingProperty);
                    border.BorderThickness = oldThickness;
                    break;

                case WindowState.Minimized:
                case WindowState.Maximized:
                    double magicx, magicy;

                    magicx = magicy = 10;//TODO: Figure out how this value is calculated (it's not ResizeBorderThickness.Left/Top)

                    double deltax = magicx - SystemParameters.ResizeFrameVerticalBorderWidth;
                    double deltay = magicy - SystemParameters.ResizeFrameHorizontalBorderHeight;
                    Debug.Assert(deltax >= 0 && deltay >= 0);
                    if (deltax < 0)
                        deltax = 0;
                    if (deltay < 0)
                        deltay = 0;

                    border.Padding = new Thickness(
                        SystemParameters.BorderWidth + border.BorderThickness.Left + deltax,
                        SystemParameters.BorderWidth + border.BorderThickness.Top + deltay,
                        SystemParameters.BorderWidth + border.BorderThickness.Right + deltax,
                        SystemParameters.BorderWidth + border.BorderThickness.Bottom + deltay);
                    border.BorderThickness = new Thickness(0);
                    break;
                }
            }
Ejemplo n.º 2
0
        public static void UpdateWin32Style(MetroWindow window)
        {
            const int GWL_STYLE = -16;
            const int WS_SYSMENU = 0x00080000;

            IntPtr hWnd = new WindowInteropHelper(window).Handle;

            // The whole title bar is restyled. We must hide the system menu or Windows
            // will sometimes paint the title bar for us.
            SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~WS_SYSMENU);
        }
Ejemplo n.º 3
0
            void UpdatePadding(MetroWindow window)
            {
                Debug.Assert(window != null);

                var state = window.IsFullScreen ? WindowState.Maximized : window.WindowState;
                switch (state) {
                default:
                case WindowState.Normal:
                    border.ClearValue(Border.PaddingProperty);
                    border.BorderThickness = oldThickness;
                    break;

                case WindowState.Minimized:
                case WindowState.Maximized:
                    const int magic = 2;
                    border.Padding = new Thickness(
                        SystemParameters.BorderWidth + border.BorderThickness.Left + magic,
                        SystemParameters.BorderWidth + border.BorderThickness.Top + magic,
                        SystemParameters.BorderWidth + border.BorderThickness.Right + magic,
                        SystemParameters.BorderWidth + border.BorderThickness.Bottom + magic);
                    border.BorderThickness = new Thickness(0);
                    break;
                }
            }