none
wpf window覆盖了任务栏 RRS feed

  • 问题

  • 各位好:

    当我将窗体的WindowStyle="None" 同时将WindowState="Maximized" 时,窗体会把任务栏给覆盖掉。

    当我百度后,发现解决方案非常的复杂,要使用钩子。

    请问有什么更简单的方法吗,不可能微软的设计人员连这点都没考虑到吧?

    2016年9月11日 5:43

答案

  • 您好 彭123,

    一个替代性的解决方法是在窗口的构造方法中设置当前的窗体的最大高为MaximizedPrimaryScreenHeight。以下代码供您参考。

    public MainWindow()
    {
        InitializeComponent();
        this.MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight;
    }
    Best Regards,
    Li Wang

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 彭123 2016年9月11日 9:16
    • 取消答案标记 彭123 2016年9月11日 9:31
    • 已标记为答案 彭123 2016年9月11日 9:38
    2016年9月11日 8:46
  • 您好 彭123,

    一个替代性的解决方法是在窗口的构造方法中设置当前的窗体的最大高为MaximizedPrimaryScreenHeight。以下代码供您参考。

    public MainWindow()
    {
        InitializeComponent();
        this.MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight;
    }
    Best Regards,
    Li Wang

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    另外还需要在界面上设置两个属性,否则会导致边框出现白色

    AllowsTransparency="True"

     WindowChrome.WindowChrome="{DynamicResource WindowChromeKey}"

    <Window.Resources>
            <WindowChrome x:Key="WindowChromeKey">
                <WindowChrome.ResizeBorderThickness>
                    <Thickness>1</Thickness>
                </WindowChrome.ResizeBorderThickness>
            </WindowChrome>
        </Window.Resources>

    • 已标记为答案 彭123 2016年9月11日 9:46
    2016年9月11日 9:42

全部回复

  • 您好 彭123,

    一个替代性的解决方法是在窗口的构造方法中设置当前的窗体的最大高为MaximizedPrimaryScreenHeight。以下代码供您参考。

    public MainWindow()
    {
        InitializeComponent();
        this.MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight;
    }
    Best Regards,
    Li Wang

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 彭123 2016年9月11日 9:16
    • 取消答案标记 彭123 2016年9月11日 9:31
    • 已标记为答案 彭123 2016年9月11日 9:38
    2016年9月11日 8:46
  • 您好 彭123,

    一个替代性的解决方法是在窗口的构造方法中设置当前的窗体的最大高为MaximizedPrimaryScreenHeight。以下代码供您参考。

    public MainWindow()
    {
        InitializeComponent();
        this.MaxHeight = SystemParameters.MaximizedPrimaryScreenHeight;
    }
    Best Regards,
    Li Wang

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    另外还需要在界面上设置两个属性,否则会导致边框出现白色

    AllowsTransparency="True"

     WindowChrome.WindowChrome="{DynamicResource WindowChromeKey}"

    <Window.Resources>
            <WindowChrome x:Key="WindowChromeKey">
                <WindowChrome.ResizeBorderThickness>
                    <Thickness>1</Thickness>
                </WindowChrome.ResizeBorderThickness>
            </WindowChrome>
        </Window.Resources>

    • 已标记为答案 彭123 2016年9月11日 9:46
    2016年9月11日 9:42