2010-10-20 13 views
5

Desarrollé algunos userControl que contienen alguna verificación de información en el método 'IsVisible' (método de anulación).¿Cómo comprobar si estoy en tiempo de ejecución o diseño?

Cuando uso este usercontrol en alguna ventana, veo algún error porque el método 'IsVisible' busca alguna variable que esté configurada en tiempo de ejecución.

¿Cómo puedo verificar si estoy en tiempo de diseño y el sistema no se está ejecutando?

Gracias por la ayuda.

Respuesta

9

DesignerProperties.GetIsInDesignMode(this); Esto sería verdadero si se encuentra en tiempo de diseño.

+2

Ocurre un error en esta respuesta: es posible que desee llamar a DesignerProperties.GetIsInDesignMode (d) que se puede encontrar en System.ComponentModel. Tenga en cuenta que d debe ser un UIElement. This DesignerProperty es una propiedad adjunta. – GameAlchemist

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

La otra respuesta es técnicamente correcta pero proporciono esta para aclarar el espacio de nombres y el uso.

+0

Esto no es invocable, aunque tiene que ser 'GetIsInDesignMode'. –

+0

@ChristianIvicevic ¡Uy, gracias por señalar eso! Fijo. – Jake

Cuestiones relacionadas