【问题标题】:Taskbar not overlayed when returning from Sleep从睡眠状态返回时任务栏未覆盖
【发布时间】:2017-03-14 04:00:40
【问题描述】:

我的应用程序开始时 WindowStyle 设置为 None,ResizeMode 设置为 NoResize,WindowState 设置为 Maximized。我将 Windows (Windows 10) 发送到睡眠模式,当我从睡眠模式唤醒时,应用程序会调整大小以便 Windows 任务栏可见。在进入睡眠模式之前,任务栏会被应用程序隐藏,因为 WindowStyle 为 None。

如何将任务栏保留在我的应用程序后面?我已经尝试捕获 SizeChanged 事件并重新最大化它,或者将样式更改为其他样式并返回 None,但没有任何效果。

这可以通过一个带有如下主窗口的简单应用程序来演示:

<Window x:Class="MaximizedNoChrome.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:MaximizedNoChrome"
        mc:Ignorable="d"
        Title="MainWindow" WindowState="Maximized" WindowStyle="None" Background="IndianRed">
    <Grid>

    </Grid>
</Window>

睡前 睡后

【问题讨论】:

  • 在这里工作正常
  • 有趣。它必须是 Windows 设置。我有一台全新的华硕笔记本电脑,每次都会这样做。有其他人经历过吗?
  • 点击应用后任务栏会隐藏吗​​?
  • 不,它没有。我尝试使用 Alt+Tab 或 Windows+Tab 也没有隐藏它。
  • 我可以通过级联窗口然后撤消它来让应用程序再次位于任务栏的顶部。我也可以通过并排使用 Show windows 来做到这一点,但我需要在代码中做到这一点。

标签: c# wpf windows taskbar


【解决方案1】:

我不知道这是否是最佳答案,但这是解决此问题的一种方法。我订阅了 PowerModeChanged 系统事件以捕获恢复事件,然后在 Activated 事件中折叠/显示和正常/最大化窗口。

如果您有更好的解决方案,请告诉我。

SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;

...

private void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
{
    if (e.Mode == PowerModes.Resume)
    {
        _resumed = true;
    }
}

...

private void Window_Activated(object sender, EventArgs e)
{
    if (_resumed)
    {
        Visibility = Visibility.Collapsed;
        Visibility = Visibility.Visible;
        WindowState = WindowState.Normal;
        WindowState = WindowState.Maximized;
        _resumed = false;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    • 2019-11-29
    • 1970-01-01
    相关资源
    最近更新 更多