不要在多屏幕的最大化窗口上隐藏任务栏

时间:2016-07-13 09:32:19

标签: c# wpf

我有一个WPF应用程序。我的主要Windows为:

<Setter Property="WindowStyle" Value="None"/>

当我设置:

Window.GetWindow(this).WindowState = System.Windows.WindowState.Maximized

窗口全屏显示。它在我的辅助屏幕上没问题,但它隐藏了主屏幕上的任务栏。我尝试使用SystemParameters.MaximizedPrimaryScreenHeight,但它在次要问题上遇到了麻烦。在WPF中,我不知道如何检测实际屏幕。

有人有解决方案吗?

2 个答案:

答案 0 :(得分:0)

我很确定没有原生的WPF功能来获得显示器分辨率,但是如果你使用多个屏幕these functions可能会引起你的兴趣。

答案 1 :(得分:0)

Dominik K的帮助下,我终于找到了这篇文章How do I know what monitor a WPF window is in并使用了以下解决方案:

internal static class NativeMethods
{
    public const Int32 MONITOR_DEFAULTTOPRIMERTY = 0x00000001;
    public const Int32 MONITOR_DEFAULTTONEAREST = 0x00000002;

    [System.Runtime.InteropServices.DllImport("user32.dll")]
    public static extern IntPtr MonitorFromWindow(IntPtr handle, Int32 flags);
}

不使用表单功能