在Winforms表单中,我想在输入字段包含无效值时向用户提供可视提示。为此,我想将输入字段标签的ForeColor
属性绑定到基础模型的(布尔型)IsPropertyValid
属性,使标签在IsPropertyValid == false
时变为红色。Winforms数据绑定:可以使用TypeConverter而不是Format/Parse事件吗?
我现在有是绑定的Format
事件的事件处理程序:
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;
}
如果我想这样做WPF中,我想我会指定自定义value converter(bool
到Color
)直接与绑定在XAML中。 最重要的是,我不必通过名称来引用特定的控件。
我想用我的Winforms表单做同样的事情。理想情况下,我可以直接在Forms Designer中为特定的绑定指定一个TypeConverter
对象。这可能吗?
您能否解释一下这段代码应该如何工作,以及它如何回答这个问题? – stakx 2014-06-18 11:56:43