我在WPF中有无边框窗口,它使用了一些自定义样式。我正在使用具有不同分辨率的多个显示器来显示应用程序。当应用程序从较小分辨率移动到最大分辨率监视器时,应用程序未正确最大化并且屏幕的某些区域显示为空。我如何才能在所有决议中最大化?
由于
答案 0 :(得分:0)
这应该解决它。
<Window WindowState="Maximized">
</Window>
答案 1 :(得分:0)
尝试使用WindowChrome类绘制窗口。此功能允许重绘窗口的非客户区域。这意味着您可以将无边框窗口用作SingleBordered窗口。它解决了自定义窗口的很多问题。 如果您的目标是.NET 4.5,只需键入:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<WindowChrome.WindowChrome>
<WindowChrome/>
</WindowChrome.WindowChrome>
<Grid>
</Grid>
</Window>
对于4.5以下的.NET您必须引用Microsoft.Windows.Shell.dll,然后使用例如shell:WindowChrome获得相同的结果。
也不要使用
WindowState = Windows.WindowState.Maximized
而是输入例如
<Button x:Name="buttonMaximize" Command="{Binding Source={x:Static SystemCommands.MaximizeWindowCommand}}">
使用默认的Windows操作来最大化带有动画和完美缩放的窗口。