只要WPF文本框的Text属性与表单上另一个文本框的Text属性不匹配,我希望将其Foreground属性变为红色。我可以通过代码后台和绑定转换器来实现这一点。但是,有没有仅通过XAML来完成它的方法?(我在想某种触发器)。
<TextBox x:Name="_textBox1"/>
<TextBox Foreground="{Binding Text, ElementName=_textBox1, Converter={StaticResource ForegroundConverter}}"/>
或者在视图模型中:
public string FirstText
{
//get/set omitted
}
public string SecondText
{
get { return _secondText; }
set
{
if (_secondText != value)
{
_secondText = value;
OnPropertyChanged("SecondText");
OnPropertyChanged("SecondTextForeground");
}
}
}
public Brush SecondTextForeground
{
get { return FirstText == SecondText ? Brushes.Red : Brushes.Black; }
}