ÖNEMLİ
Windows Forms veya WPF kullanmanın bir farkı var !!
Farklı tasarımcıları var ve farklı kontrollere ihtiyaçları var . Ek olarak, Formlar ve WPF denetimlerini karıştırdığınızda zordur. (örneğin, Formlar penceresinin içindeki WPF kontrolleri)
Yalnızca Windows Formlarınız varsa , şunu kullanın:
Boolean isInWpfDesignerMode = (LicenseManager.UsageMode == LicenseUsageMode.Designtime);
Yalnızca WPF'niz varsa , bu kontrolü kullanın:
Boolean isInFormsDesignerMode = (System.Diagnostics.Process.GetCurrentProcess().ProcessName == "devenv");
Forms ve WPF'nin karışık kullanımına sahipseniz, aşağıdaki gibi bir onay kullanın:
Boolean isInWpfDesignerMode = (LicenseManager.UsageMode == LicenseUsageMode.Designtime);
Boolean isInFormsDesignerMode = (System.Diagnostics.Process.GetCurrentProcess().ProcessName == "devenv");
if (isInWpfDesignerMode || isInFormsDesignerMode)
{
// is in any designer mode
}
else
{
// not in designer mode
}
Geçerli modu görmek için hata ayıklama için bir MessageBox gösterebilirsiniz:
// show current mode
MessageBox.Show(String.Format("DESIGNER CHECK: WPF = {0} Forms = {1}", isInWpfDesignerMode, isInFormsDesignerMode));
Açıklama:
System.ComponentModel ve System.Diagnostics ad alanlarını eklemeniz gerekir .
ISite.DesignMode
.