【问题标题】:WPF LayoutUpdated event handler not working for maximizeWPF LayoutUpdated 事件处理程序不适用于最大化
【发布时间】:2011-12-14 16:12:48
【问题描述】:

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

我写了以下代码。

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

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

【问题讨论】:

    标签: c# .net wpf events width


    【解决方案1】:

    您可以使用Window的Size changed事件来了解窗口大小何时发生变化。

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

    【讨论】:

    • 好的。我已经想通了。 LayoutUpdated 没问题。我所要做的就是改用 ActualWidth。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-25
      • 1970-01-01
      • 2010-09-22
      • 1970-01-01
      • 1970-01-01
      • 2010-12-07
      • 2013-10-02
      • 1970-01-01
      相关资源
      最近更新 更多