mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-12-21 15:27:55 +08:00
71 lines
2.1 KiB
C#
71 lines
2.1 KiB
C#
|
// Copyright (c) Microsoft Corporation
|
|||
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
|||
|
// See the LICENSE file in the project root for more information.
|
|||
|
|
|||
|
using System.Windows;
|
|||
|
|
|||
|
namespace PowerToys.Settings
|
|||
|
{
|
|||
|
internal class Utils
|
|||
|
{
|
|||
|
public static void FitToScreen(Window window)
|
|||
|
{
|
|||
|
if (SystemParameters.WorkArea.Width < window.Width)
|
|||
|
{
|
|||
|
window.Width = SystemParameters.WorkArea.Width;
|
|||
|
}
|
|||
|
|
|||
|
if (SystemParameters.WorkArea.Height < window.Height)
|
|||
|
{
|
|||
|
window.Height = SystemParameters.WorkArea.Height;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public static void CenterToScreen(Window window)
|
|||
|
{
|
|||
|
if (SystemParameters.WorkArea.Height <= window.Height)
|
|||
|
{
|
|||
|
window.Top = 0;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
window.Top = (SystemParameters.WorkArea.Height - window.Height) / 2;
|
|||
|
}
|
|||
|
|
|||
|
if (SystemParameters.WorkArea.Width <= window.Width)
|
|||
|
{
|
|||
|
window.Left = 0;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
window.Left = (SystemParameters.WorkArea.Width - window.Width) / 2;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public static void ShowHide(Window window)
|
|||
|
{
|
|||
|
// To limit the visual flickering, show the window with a size of 0,0
|
|||
|
// and don't show it in the taskbar
|
|||
|
var originalHeight = window.Height;
|
|||
|
var originalWidth = window.Width;
|
|||
|
var originalMinHeight = window.MinHeight;
|
|||
|
var originalMinWidth = window.MinWidth;
|
|||
|
|
|||
|
window.MinHeight = 0;
|
|||
|
window.MinWidth = 0;
|
|||
|
window.Height = 0;
|
|||
|
window.Width = 0;
|
|||
|
window.ShowInTaskbar = false;
|
|||
|
|
|||
|
window.Show();
|
|||
|
window.Hide();
|
|||
|
|
|||
|
window.Height = originalHeight;
|
|||
|
window.Width = originalWidth;
|
|||
|
window.MinHeight = originalMinHeight;
|
|||
|
window.MinWidth = originalMinWidth;
|
|||
|
window.ShowInTaskbar = true;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|