2015-09-05 2 views
1

Я пытаюсь скрыть/удалить кнопку закрытия на моем MahApps MetroWindow без успеха.Как скрыть кнопку закрытия в окне MahApps.Metro?

Я пытался с этим кодом:

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, похоже, не работает ,

Это реальный результат:

enter image description here

Почему кнопка не исчезают? Что я делаю неправильно?

+0

Он работает нормально, когда я пытаюсь. Но это не похоже на обычный класс Window, который трудно угадать, откуда приходит ShowTitleBar. –

+0

Я использую mahapp metro framework, может быть, это проблема? – Bender

+0

Да, в этом проблема. Очевидно, вам нужно обновить свой вопрос. –

ответ

14

Свойство зависимости ShowCloseButton можно использовать для MetroWindow.

+1

Спасибо, ваш инструментарий - удивительный чувак. –