当创建一个WPF窗口AllowsTransparency="True" WindowStyle="None"
并通过this.WindowState = WindowState.Maximized;
Window 最大化它比我的屏幕更大.
当AllowTransparency="False"
我在我的窗口周围设置边框时,窗口不会比我的屏幕大.
在我的情况下,我有一个1920x1080的屏幕,窗口变为1934x1094.
在我的1280x1024屏幕上,窗口将变为1294x1038.
无论是否启用AllowTransparency,Window都将变得如此大,但是如果禁用它,它将正常工作.
在最大化doesen't工作之前设置AllowTransparency并抛出InvalidOperationException.
如何获得没有Windows风格边框但尚未正确最大化的WPF窗口?
晚了几年,但只需增加this.borderthickness
SizeChanged 事件的大小,如下所示:
<Window x:Class="MyApp.MainWindow"
ResizeMode="CanResize"
WindowStyle="SingleBorderWindow"
SizeChanged="Window_SizeChanged">
....
Code
....
</Window>
public void Window_SizeChanged(object sender, SizeChangedEventArgs e)
{
if (this.WindowState == WindowState.Maximized)
{
this.BorderThickness = new System.Windows.Thickness(8);
}
else
{
this.BorderThickness = new System.Windows.Thickness(0);
}
}
Run Code Online (Sandbox Code Playgroud)
Chi*_*nki -1
设置你的窗口的这个属性。
MinHeight="100"
MinWidth="100"
Height="auto"
Width="auto"
Run Code Online (Sandbox Code Playgroud)
希望这会起作用