Nasıl wpf penceresinde Kapat düğmesini gizlemek için?
Wpf kalıcı bir iletişim kutusu yazıyorum. Nasıl bir kapatma düğmesi yok wpf pencere ayarlarım? Hala normal bir başlık çubuğu için kendi Yapabilirsiniz için istiyorum.
ResizeMode, Yapabilirsiniz, ve WindowStyle buldum, ama bu özelliklerin hiçbiri bana Kapat düğmesini gizlemek için izin ama başlık çubuğu, kalıcı iletişim kutusu olarak göster.
CEVAP
WPF bir yerleşik özelliği başlık çubuğundaki Kapat düğmesini gizlemek zorunda değil, ama/Çağırmak P birkaç satır ile yapabilirsin.
İlk olarak, Pencere sınıfı için bu bildirimleri ekleyin:
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);
Sonra Pencerenin Dolu olay içinde bu kodu koymak:
var hwnd = new WindowInteropHelper(this).Handle;
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
Ve işte: daha Yakın hiçbir düğme. Sen de tıkla hemen hepsi birliktedir başlık çubuğu bile yok Sistem menüsünü demek ki başlık çubuğu, sol tarafında bir pencere simge var, olmaz.
Alt F4 hala Pencereyi kapatmak unutmayın. Eğer pencere arka plan iş parçacığı yapılır önce kapatmak için izin vermek istiyorsanız Eğer doğru değilse, o zaman da OnClosing geçersiz kılar ve Gabe önerdiği gibi İptal true, ayarlayabilirsiniz.
Kapat (x) düğmesini gizlemek için Nası...
Nasıl jQuery UI iletişim kutusunda Kap...
Nasıl '' düğmesini gizlemek ...
Nasıl bir Etkinlik için başlık çubuğun...
Nasıl VS2013 başvuru sayısı, gizlemek ...