繁体   English   中英

隐藏 WPF Window 上的最小化最大化按钮

[英]Hiding Minimize Maximize button on WPF Window

我想隐藏/禁用 WPF window 上的最小化和最大化按钮。

我试过使用 WinAPI

我在我的代码库中添加了以下 class

internal static class WindowExtensions
{
    // from winuser.h
    private const int GWL_STYLE = -16,
        WS_MAXIMIZEBOX = 0x10000,
        WS_MINIMIZEBOX = 0x20000;

    [DllImport("user32.dll")]
    extern private static int GetWindowLong(IntPtr hwnd, int index);

    [DllImport("user32.dll")]
    extern private static int SetWindowLong(IntPtr hwnd, int index, int value);

    internal static void HideMinimizeAndMaximizeButtons(this Window window)
    {
        IntPtr hwnd = new System.Windows.Interop.WindowInteropHelper(window).Handle;
        var currentStyle = GetWindowLong(hwnd, GWL_STYLE);

        SetWindowLong(hwnd, GWL_STYLE, (int)(currentStyle & -65537 & -131073));
    }
}

然后我尝试在该 window 的 SourceInitialised 方法上调用 HideMinimizeAndMaximizeButtons 方法。

这是我在 Internet 上找到的唯一解决方案。

任何人都可以建议任何其他解决方法吗?

一种可能的解决方法是隐藏整个标题栏

<Window 
    WindowStyle="None"

并根据需要使用自定义按钮创建“程序关闭按钮”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM