2010-10-20 7 views
5

Я разработал некоторый userControl, который содержит некоторую проверку информации по методу «IsVisible» (метод переопределения).Как проверить, есть ли во время выполнения или время разработки?

Когда я использую этот пользовательский контроль в каком-то окне - я вижу некоторую ошибку, потому что метод IsVisible ищет некоторую переменную, установленную во время выполнения.

Как я могу проверить, есть ли время разработки и система не работает?

Спасибо за помощь.

ответ

9

DesignerProperties.GetIsInDesignMode(this); Это вернет true, если вы находитесь в режиме разработки.

+2

Ошибка в этом ответе: вы можете вызвать DesignerProperties.GetIsInDesignMode (d), который можно найти в System.ComponentModel. Обратите внимание, что d должно быть UIElement. Этот DesignerProperty является прикрепленным свойством. – GameAlchemist

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

Другой ответ технически корректен, но я предоставляю ему разъяснение пространства имен и использования.

+0

Это не invocable, но должно быть 'GetIsInDesignMode'. –

+0

@ChristianIvicevic К сожалению, спасибо, что указали это! Исправлена. – Jake

Смежные вопросы