2010-10-20 13 views
5

Rozwinąłem niektóre userControl, które zawierają pewne sprawdzanie informacji w metodzie "IsVisible" (metoda przesłaniania).Jak sprawdzić, czy jestem w czasie wykonywania lub projektu?

Podczas korzystania z tej kontroli użytkownika w niektórych oknach - widzę błąd, ponieważ metoda "IsVisible" szuka pewnej zmiennej, która jest ustawiona na czas wykonywania.

Jak mogę sprawdzić, czy jestem w czasie projektowania, a system nie działa?

Dzięki za pomoc.

Odpowiedz

9

DesignerProperties.GetIsInDesignMode(this); Zwróciłoby to wartość true, jeśli jesteś w czasie projektowania.

+2

Błąd w tej odpowiedzi: możesz wywołać DesignerProperties.GetIsInDesignMode (d), który można znaleźć w System.ComponentModel. Należy pamiętać, że d musi być UIElement. Ta właściwość DesignerProperty jest załączoną własnością. – GameAlchemist

0
public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) 
      Console.WriteLine("The main window is in design mode."); 
    } 
} 

Inna odpowiedź jest poprawna technicznie, ale zapewniam ją, aby wyjaśnić obszar nazw i sposób użycia.

+0

Nie jest to wywołanie, musi to być 'GetIsInDesignMode'. –

+0

@ChristianIvicevic Ups, dzięki za wskazanie tego! Naprawiony. – Jake

Powiązane problemy