我为我的 WPF 应用程序创建了一个无边框窗口。它在侧面和角落完美地调整大小,当我将它拖到屏幕的左侧或右侧时,它完美地缩放以适合屏幕的一半。如果我使用按钮或其他控制事件来最大化窗口,它会完美运行。但是,当我将窗口拖到屏幕顶部时,实际窗口会最大化,但其中的网格不会。
我将它设置为在 sizeChanged 事件上调用一个方法,该方法设置网格相对于窗口的大小(它填充整个窗口,除了每个边缘上的 10 个像素)。起初,我认为 sizeChanged 事件没有触发,所以我创建了一个线程来检测 windowState 是否已最大化。在检测时,它会简单地运行该方法来确定网格的大小。该方法运行,但网格大小没有改变。只有这种最大化的方法是一个问题。
我该如何解决这个问题?
编辑:XAML
<Window.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF868686" Offset="0" />
<GradientStop Color="Black" Offset="1" />
</LinearGradientBrush>
</Window.Background>
<Grid Background="{x:Null}" Name="baseGrid">
<Grid Height="342" HorizontalAlignment="Stretch" Name="grid1" VerticalAlignment="Stretch" Width="718" Background="#46BA0000">
<Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="6,6,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="maximize" />
</Grid>
</Grid>
我还在我的应用程序中使用了样式和主题,但是即使不涉及它们也会发生此问题,因此我没有将它们包含在 XAML 中