Ejemplo n.º 1
0
		void WpfHexView_Loaded(object sender, RoutedEventArgs e) {
			canvas.Loaded -= WpfHexView_Loaded;
			var window = Window.GetWindow(canvas);
			metroWindow = window as MetroWindow;
			Debug.Assert(window != null);
			if (metroWindow != null) {
				metroWindow.WindowDpiChanged += MetroWindow_WindowDpiChanged;
				MetroWindow_WindowDpiChanged(metroWindow, EventArgs.Empty);
				ZoomLevelChanged?.Invoke(this, new VSTE.ZoomLevelChangedEventArgs(ZoomLevel, canvas.LayoutTransform));
				return;
			}
		}
Ejemplo n.º 2
0
		internal 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:
					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.º 4
0
			public MaximizedWindowFixer(MetroWindow metroWindow, Border border) {
				this.border = border;
				oldThickness = border.BorderThickness;
				this.metroWindow = metroWindow;
				metroWindow.StateChanged += MetroWindow_StateChanged;
				border.Loaded += border_Loaded;
			}
		/// <summary>
		/// Constructor
		/// </summary>
		/// <param name="metroWindow">Created instance</param>
		public MetroWindowCreatedEventArgs(MetroWindow metroWindow) {
			if (metroWindow == null)
				throw new ArgumentNullException(nameof(metroWindow));
			MetroWindow = metroWindow;
		}
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="metroWindow">Created instance</param>
 public MetroWindowCreatedEventArgs(MetroWindow metroWindow) => MetroWindow = metroWindow ?? throw new ArgumentNullException(nameof(metroWindow));