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

标签 .net wpf xaml

我想让 WPF 文本框的 Foreground 属性变为红色,只要它的 Text 属性与表单上另一个文本框的 Text 属性不匹配。
我可以在后面的代码中并通过与转换器的绑定(bind)来完成此操作。但是有没有办法只在 XAML 中做到这一点? (我在想某种触发器)。

最佳答案

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

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

或者在 View 模型中:
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; }
}

关于.net - WPF:如何根据 XAML 中另一个的 Text 属性更改文本框的前景色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1353730/

相关文章:

.net - 如何解决 "System.UnauthorizedAccessException: Authorization for Microsoft App ID xxx failed with status code Unauthorized"

.net - StructureMap 中的 AddRegistry 和 IncludeRegistry 有什么区别?

WPF:如何从 Fonts.SystemFontFamilies 中过滤掉非罗马字体?

c# - 带有画笔的 Oxyplot 注释

c# - 更改 ListBox 的 UniformGrid 列数的最佳方法是什么?

wpf - 如何将按钮的DataContext更改为父级DataContext?

.net - 在 .Net 中处理与时区相关的日期时间的最佳方法

c# - LdapConnection SearchRequest 为 "The size limit was exceeded"抛出异常

xaml - 如何在 XAML 中创建度数符号

c# - Xamarin。当前上下文中不存在名称“authorEntry”