WPF Windows에서 닫기 버튼을 숨기는 방법: P/Invoke 솔루션
WPF에서는 닫기 버튼을 숨기는 것이 바람직할 수 있습니다. 제목 표시줄을 유지하면서 모달 대화 상자에서. 기본 제공 WPF 속성은 이 기능을 제공하지 않지만 P/Invoke를 활용하면 해결 방법이 제공됩니다.
1단계: 관련 상수 및 DllImport 함수 선언
시작 다음 상수 및 DllImport 선언을 창에 추가합니다. class:
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);
2단계: Loaded 이벤트에서 닫기 버튼 숨기기
다음으로 Window의 Loaded 이벤트에 다음 코드를 포함합니다.
var hwnd = new WindowInteropHelper(this).Handle; SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
예상 결과:
이 단계를 실행하면 제목 표시줄에서 닫기 버튼이 사라지고 제목 표시줄 자체는 계속 표시됩니다.
중요 참고:
닫기 버튼이 숨겨져 있어도 사용자는 키보드 단축키나 작업 표시줄을 사용하여 창을 닫을 수 있습니다. 이를 방지하려면 다른 답변에서 제안한 대로 OnClosing 이벤트를 재정의하고 취소를 true로 설정하는 것이 좋습니다.
위 내용은 P/Invoke를 사용하여 WPF 창에서 닫기 버튼을 숨기려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!