WPF layouupdate事件处理程序在最大化时不工作

本文关键字:工作 最大化 layouupdate 事件处理 程序 WPF | 更新日期: 2023-09-27 18:12:31

我想让我的MenuBar根据窗口的宽度来缩放它的宽度。

我写了以下代码:

private void Window_LayoutUpdated(object sender, EventArgs e)
{
    Window x = (Window)proj.App.Current.MainWindow;
    menu1.Width = x.Width;
}

它可以很好地手动缩放窗口。但是当我最大化它时,菜单栏的大小并没有改变。这些事件是否有其他事件处理程序?

WPF layouupdate事件处理程序在最大化时不工作

这很简单。对于那些想知道的人,我需要用到的是x的ActualWidth性质。ActualWidth将实际读取新的宽度,而不是使用存储的值。所以它会在最大化时触发

您可以使用Window的Size changed事件来查看窗口的大小何时被更改。

如果你想知道窗口何时被最小化或最大化,你可以处理状态改变事件