2011-04-20 17 views
6

Tengo un código básico de control de usuario de WPF/Silverlight que incluye una etiqueta que quiero establecer desde el código que usa el control. ¿Hay alguna forma de simplificar los requisitos para la definición de la propiedad de dependencia y los eventos relacionados? Parece muy ruidoso para lo que parece ser una simple tarea de codificación (una propiedad, un método y un cableado relacionado).¿Hay alguna manera de simplificar la configuración de las propiedades de dependencia en WPF y Silverlight?

private static DependencyProperty CountProperty; 

    public MyWpfUserControl() 
    { 
     InitializeComponent(); 
     PropertyChangedCallback countChangedCallback = CountChanged; 
     var metaData = new PropertyMetadata(countChangedCallback); 
     CountProperty = DependencyProperty.Register("Count", typeof (int), typeof (MyWpfUserControl), metaData); 
    } 

    public int ItemsCount 
    { 
     get { return (int) GetValue(CountProperty); } 
     set { SetValue(CountProperty, value); } 
    } 

    private void CountChanged(DependencyObject property, 
           DependencyPropertyChangedEventArgs args) 
    { 
     // Set the value of another control to this property 
     label1.Content = ItemsCount; 
    } 
+0

Escriba 'propdp' y presione la tecla Tab dos veces en cualquier lugar del código. También me parece que la propiedad 'CountChanged' debe ser estática. – vorrtex

Respuesta

1

Usted está seguro de que las propiedades de dependencia son feas y torpes para trabajar. De hecho, en el ejemplo de código anterior, ¡incluso hay errores! ¡Tienes que llamar al doctor - Dr. WPF!

Éstos son fragmentos del Dr. WPF para todos los sabores propiedad de dependencia que desee:

También hay videos en su sitio que lo muestran usarlos. Honestamente, no los utilizo yo mismo, pero he tenido la intención de probarlos. I do use los fragmentos incorporados.

+0

Gracias. Voy a verificar esto. ¿Podrías señalar los errores que identificaste alguna vez para que pueda anotarlos con mi muestra? – WTLNewbie

Cuestiones relacionadas