WPF Windows에서 닫기 버튼 숨기기
WPF 애플리케이션에서 모달 대화 상자를 만들 때 제목 표시줄을 유지하면서 닫기 버튼을 숨기는 경우가 많습니다. WPF에는 이러한 특정 목적을 위한 기본 제공 속성이 없지만 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);
다음으로 Window의 Loaded 이벤트에서 다음 코드를 실행합니다.
var hwnd = new WindowInteropHelper(this).Handle; SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
이렇게 하면 창 아이콘 및 시스템 메뉴와 함께 닫기 버튼을 사용합니다.
중요 고려 사항
이 방법은 닫기 버튼을 숨기지만 사용자가 창을 닫는 것을 막지는 못합니다. Alt F4를 누르거나 작업 표시줄에서 애플리케이션을 닫는 등의 대체 수단을 통해
특정 조건이 충족되기 전에 창이 닫히는 것을 완전히 방지하려면 OnClosing 이벤트를 재정의하고 취소를 true로 설정하는 것이 좋습니다. 이는 P/Invoke 기술과 함께 수행되어 창 닫기를 비활성화하는 완벽한 솔루션을 제공할 수 있습니다.
위 내용은 WPF 창에서 닫기 버튼을 숨기면서 동시에 WPF 창을 숨길 수 있는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!