我有一个应用程序,它以我使用 WindowStyle="None"
自定义的主窗口启动。因此,我需要重新实现标题栏中的最大化/最小化按钮。
然而,这样做之后,我发现窗口不会最大化以填满整个屏幕。相反,在“停靠”在左上角后,它只会填充与其当前大小相等的空间。然后我发现,如果我以任何方式调整尺寸(实际上,只需单击窗口的边缘就可以了),我就可以使窗口正确最大化。
有谁知道如何在不手动调整窗口尺寸的情况下正确最大化我的窗口?
这是我主窗口的 xaml:
<Window x:Class="MainWindow" Name="MainWindowName"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:c" UseLayoutRounding="True"
mc:Ignorable="d" TextOptions.TextFormattingMode="Display" SizeToContent="WidthAndHeight"
Title="Application" MinHeight="700" MinWidth="1200" WindowStyle="None" >
我的最大化按钮就是这样的:
if (this.WindowState == WindowState.Maximized)
{
this.WindowState = WindowState.Normal;
}
else
{
this.WindowState = WindowState.Maximized;
}
最佳答案
移除 SizeToContent="WidthAndHeight"
如果您需要保留上述属性,因为您只在窗口未最大化时真正需要它:
if (this.WindowState == WindowState.Maximized)
{
this.SizeToContent = SizeToContent.WidthAndHeight;
this.WindowState = WindowState.Normal;
}
else
{
this.SizeToContent = SizeToContent.Manual;
this.WindowState = WindowState.Maximized;
}
关于c# - 在手动调整尺寸之前,窗口无法最大化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37839693/