En un formulario de Winforms, quiero proporcionar pistas visuales al usuario cuando un campo de entrada contiene un valor no válido. Para ese fin, quiero vincular la propiedad ForeColor
de la etiqueta de un campo de entrada con la propiedad (booleana) IsPropertyValid
del modelo subyacente de modo que la etiqueta se ponga roja cuando IsPropertyValid == false
.Encuadernación de datos de Winforms: ¿Se puede usar TypeConverter en lugar de los eventos Format/Parse?
Lo que tengo actualmente es un controlador de eventos para el Format
evento de unión:
Controls["dateOfBirthLabel"].DataBindings["ForeColor"].Format += convertBoolToColor;
// (dateOfBirthLabel.ForeColor is bound to a boolean IsDateOfBirthValid property.)
void convertBoolToColor(object sender, ConvertEventArgs e)
{
e.Value = (bool)e.Value ? Color.Black : Color.Red;
}
Si lo que quería hacer esto en WPF, supongo que tendría que especificar una costumbre value converter (bool
a Color
) directamente con la vinculante en el XAML. Lo más importante, no tendría que referirme a un control específico a través de su nombre.
Me gustaría hacer lo mismo con mi formulario de Winforms. Idealmente, podría especificar un objeto TypeConverter
para un enlace particular directamente en el Diseñador de formularios. es posible?
¿Podría explicar cómo se supone que debe funcionar este código y cómo responde la pregunta? – stakx