WPF LayoutUpdated事件处理程序不适用于最大化

时间:2011-10-25 05:59:01

标签: c# .net wpf events width

我希望我的MenuBar根据窗口的宽度缩放其宽度。

我写了以下代码。

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

适用于手动缩放窗口。但是当我最大化它时,菜单栏不会改变大小。这些事件还有其他事件处理程序吗?

2 个答案:

答案 0 :(得分:1)

这很简单。对于那些想要知道的人,我需要使用x的ActualWidth属性。 ActualWidth实际上会读取新宽度而不是使用存储的值。因此,它会在最大化时被解雇。

答案 1 :(得分:0)

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

如果您想知道窗口何时最小化或最大化,您可以处理state changed事件