.net WPF:如何根据XAML中另一个文本框的文本属性更改文本框的前景色?

.net WPF:如何根据XAML中另一个文本框的文本属性更改文本框的前景色?,.net,wpf,xaml,.net,Wpf,Xaml,只要WPF文本框的文本属性与表单上另一个文本框的文本属性不匹配,我想将其前景属性设置为红色。 我可以通过代码隐藏和与转换器的绑定来实现这一点。但是有没有办法只在XAML中实现呢?(我在想某种触发器)。不,你需要代码。该代码可能位于转换器中: <TextBox x:Name="_textBox1"/> <TextBox Foreground="{Binding Text, ElementName=_textBox1, Converter={StaticResource Foreg

只要WPF文本框的文本属性与表单上另一个文本框的文本属性不匹配,我想将其前景属性设置为红色。
我可以通过代码隐藏和与转换器的绑定来实现这一点。但是有没有办法只在XAML中实现呢?(我在想某种触发器)。

不,你需要代码。该代码可能位于转换器中:

<TextBox x:Name="_textBox1"/>
<TextBox Foreground="{Binding Text, ElementName=_textBox1, Converter={StaticResource ForegroundConverter}}"/>

谢谢,viewmodel代码很有用,我以前从未见过这种模式。不过,我会选择转换器。
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; }
}