recientemente tuve algunos problemas que hacen esto con una clase personalizada:
un control de usuario tenido una propiedad pública que era de un tipo de clase personalizada. El diseñador, de forma predeterminada, intenta asignarle algún valor, por lo que en el código del diseñador, la línea userControlThing.CustomClassProperty = null
se agregó automáticamente.
La intención era poder proporcionar al usuario control con una clase personalizada en cualquier momento mientras se ejecuta el programa (para cambiar los valores visibles para el usuario). Debido a que la parte set {}
no verificó los valores nulos, varios errores fueron apareciendo.
La solución fue cambiar la propiedad a una privada, y utilizar dos métodos públicos para establecer y obtener el valor. El diseñador intentará asignar propiedades automáticamente, pero deja los métodos solo.
En, bool público CheckBoxProperty { get {return checkBox.Checked; } get {checkBox.Checked = value; } } obtener debe ser un conjunto –
Gracias Jean !. Arreglado. – M4N
@ M4N ¿sabe cómo puedo acceder a AttachedProperties personalizadas de UserControl? Creé un ImageButton con dos ImageSources (normal y presionado) y tengo un UserControl con un ImageButton. ¿Cómo puedo acceder a esta propiedad? ' ' En la página que implementa el UserControl deseo cambiar el SrcNormal de mi ImgBtn. –