Cómo: Determinar si un control personalizado está en tiempo de diseño o en tiempo de ejecución
Cuando se usa la extensibilidad para personalizar WPF Designer for Visual Studio, se puede personalizar el comportamiento de un control en tiempo de diseño o en tiempo de ejecución. Puede personalizar la experiencia en tiempo de diseño para los usuarios finales. Por ejemplo, si crea un botón personalizado, puede elegir mostrar el texto del botón en tiempo de diseño pero no en tiempo de ejecución. También puede personalizar un control que exhibe un comportamiento complejo, de modo que ese comportamiento solo se produzca en tiempo de ejecución. Por ejemplo, un control que obtiene acceso a una base de datos automáticamente debería obtener acceso a la base de datos en tiempo de ejecución, pero no en tiempo de diseño.
Puede determinar si un control se ejecuta en tiempo de diseño o en tiempo de ejecución llamando al método GetIsInDesignMode.
Utilizar la propiedad de modo de diseño
En este procedimiento se muestra el texto en un control de botón personalizado en tiempo de diseño, pero no en tiempo de ejecución.
Para utilizar la propiedad de modo de diseño
En el archivo de código subyacente del control personalizado, busque el constructor del mismo.
Agregue código que llame al método GetIsInDesignMode y personalice el comportamiento del control en consecuencia. Se pasa una referencia al control personalizado como un argumento a GetIsInDesignMode y determina si el control está en modo de diseño. Por ejemplo, agregue código como el siguiente ejemplo:
Namespace CustomControlLibrary Public Class ButtonWithDesignTime Inherits System.Windows.Controls.Button Public Sub New() If System.ComponentModel.DesignerProperties.GetIsInDesignMode(Me) Then Me.Content = "This button is in design mode." End If End Sub End Class End Namespace
namespace CustomControlLibrary { public class ButtonWithDesignTime : System.Windows.Controls.Button { public ButtonWithDesignTime() { if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) { this.Content = "This button is in design mode."; } } } }
Vea también
Otros recursos
Comportamiento en tiempo de diseño y comportamiento en tiempo de ejecución