我制作了一个文本框。它聚焦时会突出显示。用户在TextBox中输入文本并对用户输入的内容进行代码测试。如果输入数据不正确,那么我希望这个TextBox由BlurEffect处理(它在XAML中的wtites):
<Setter Property="Effect">
<Setter.Value>
<BlurEffect Opacity="1" Color="Red" BlurRadius="30"/>
</Setter.Value>
如果输入数据不正确,此代码将捕获:
private void Filter_textBox_KeyUp(object sender, KeyEventArgs e)
{
string str=Filter_textBox.Text;
if (str == "bbb")
{
Filter_textBox.BitmapEffect = null;
Filter_textBox.Foreground = Brushes.Black;
}
else
//<BlurEffect Opacity="1" Color="Red" BlurRadius="30"/>
我希望在“else”的情况下触发“BlutEffect”。 怎么做?这是真的吗?
答案 0 :(得分:1)
private void Filter_textBox_KeyUp(object sender, KeyEventArgs e)
{
string str = Filter_textBox.Text;
if (str == "bbb")
{
Filter_textBox.Effect = null;
Filter_textBox.Foreground = Brushes.Black;
}
else
{
DropShadowEffect effect = new DropShadowEffect();
effect.Opacity = 1;
effect.Color = Colors.Red;
effect.BlurRadius = 30;
Filter_textBox.Effect = effect;
}
}
这正是您正在尝试做的事情。但这不是一个好习惯。使用DataTrigger
可以获得相同的结果。