【问题标题】:How to hide the close button in a MahApps.Metro window?如何在 MahApps.Metro 窗口中隐藏关闭按钮?
【发布时间】:2015-12-01 12:16:52
【问题描述】:

我试图隐藏/删除 MahApps MetroWindow 上的关闭按钮,但没有成功。

我已尝试使用此代码:

private const int GWL_STYLE = -16;
private const int WS_SYSMENU = 0x80000;
[DllImport("user32.dll", SetLastError = true)]
private static extern int GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("user32.dll")]

private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);

private void Window_Loaded(object sender, RoutedEventArgs e)
{
        var hwnd = new WindowInteropHelper(this).Handle;
        SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
}

我还设置了一些属性:

...ShowTitleBar="False" WindowStyle="None" ResizeMode="NoResize" 
    Loaded="Window_Loaded" ...

所以 Window_Loaded 是正确触发的,但是这个 question 的代码似乎不起作用。

这是实际结果:

为什么按钮不消失?我做错了什么?

【问题讨论】:

  • 当我尝试它时它工作得很好。但这看起来不像是一个普通的 Window 类,很难猜到 ShowTitleBar 是从哪里来的。
  • 我正在使用 mahapp metro 框架,也许这是问题所在?
  • 是的,这就是问题所在。显然您需要更新您的问题。
  • 嗯嗯,老实说,我不知道谁提供了更多细节。我询问了 git support mahapp 来看看这个问题,也许他们可以处理这个问题。

标签: c# wpf windows xaml mahapps.metro


【解决方案1】:

您可以使用MetroWindowShowCloseButton 依赖属性。

【讨论】:

  • 谢谢,你的工具包很棒。
猜你喜欢
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多