Wpf 창에서 닫기 버튼 숨기기
WPF 모달 대화 상자에서 창 상단에 있는 닫기 버튼을 숨기고 싶을 때가 있습니다. 하지만 여전히 제목 표시줄을 유지합니다. 그러나 기존 ResizeMode, WindowState 및 WindowStyle 속성 중 어느 것도 두 요구 사항을 모두 충족하지 않습니다. P/Invoke를 사용하여 이 문제를 해결하는 방법은 다음과 같습니다.
먼저 창 클래스에 다음 선언을 추가합니다.
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);
그런 다음 창의 Loaded 이벤트에 다음 코드를 넣습니다.
var hwnd = new WindowInteropHelper(this).Handle; SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
위를 실행합니다. code 그 후에는 닫기 버튼이 숨겨집니다. 이렇게 하면 버튼만 숨겨지고 창을 닫는 단축키(Alt F4)는 여전히 작동합니다. 사용자가 창을 닫는 것을 방지해야 하는 경우 Gabe가 제안한 방법을 사용하여 OnClosing 이벤트를 재정의하고 취소를 true로 설정할 수 있습니다.
위 내용은 WPF 모달 대화 상자에서 닫기 버튼을 숨기는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!