【问题标题】:WPF: State of Minimized System.Windows.WindowWPF:最小化 System.Windows.Window 的状态
【发布时间】:2018-10-23 15:22:02
【问题描述】:

如何知道 System.Windows.Window 在最小化之前是处于 WindowState.Normal 还是 WindowState.Maximized 状态?

【问题讨论】:

  • 使用 2 个变量,比如 currentState 和 previousState。使用 StateChanged 事件更新它们。
  • 我真的不想在我的代码中处理窗口状态更改。有没有办法通过 Windows 对象以类似于预最小化坐标(Window.RestoreBounds)的方式访问预最小化状态?

标签: wpf windows window-position


【解决方案1】:

除非你自己跟踪之前的状态,否则你不会这样做:

private WindowState _previousState = WindowState.Normal;
private void MainWindow_StateChanged(object sender, EventArgs e)
{
    if (WindowState == WindowState.Minimized)
    {
        if (_previousState == WindowState.Maximized)
        {
            MessageBox.Show("Window was in maximized state before being minimized");
        }
        else
        {
            MessageBox.Show("Window was in normal state before being minimized");
        }
    }
    _previousState = WindowState;
}

恐怕没有“PreviousWindowState”属性可用。

【讨论】:

  • 这太烦人了!不过感谢您的澄清。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-31
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多