SORU
13 NİSAN 2009, PAZARTESİ


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
6 HAZİRAN 2009, CUMARTESİ


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Apple&Tech Reviews & Giveaways

    Apple&Tech R

    12 Temmuz 2008
  • Paul Schroder

    Paul Schrode

    30 Kasım 2007
  • TheMasterOfHell100

    TheMasterOfH

    13 AĞUSTOS 2011