2
我想使WPF文本框的Foreground屬性爲紅色,只要其Text屬性與窗體上另一個Textbox的Text屬性不匹配即可。 我可以在後面的代碼中完成此操作,並通過與轉換器進行綁定。但是有沒有辦法在XAML中做到這一點? (我正在考慮某種觸發器)。WPF:如何根據XAML中的另一個文本屬性更改文本框的前景色?
我想使WPF文本框的Foreground屬性爲紅色,只要其Text屬性與窗體上另一個Textbox的Text屬性不匹配即可。 我可以在後面的代碼中完成此操作,並通過與轉換器進行綁定。但是有沒有辦法在XAML中做到這一點? (我正在考慮某種觸發器)。WPF:如何根據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; }
}
感謝,該視圖模型代碼是非常有用的,我從來沒有見過的圖案。不過,我會選擇轉換器。 – Dabblernl 2009-08-30 17:56:35