【发布时间】: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