0

我做了一个文本框。聚焦时会突出显示。用户在 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”。怎么做?这是真的吗?

4

1 回答 1

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.

于 2012-11-10T10:28:03.393 回答