Стили и триггеры в текстовом поле

#c# #.net #wpf #triggers #styles

#c# #.net #wpf #триггеры #стили

Вопрос:

Я пытаюсь добавить OuterGlowBitmapEffect эффект к TextBox при наведении на него курсора мыши. Я использую триггеры. Вот некоторый код:

 <TextBox Height="23" HorizontalAlignment="Left" Style="{DynamicResource TextBoxStyle}" Margin="12,283,0,0" Name="textBox1" VerticalAlignment="Top" Width="147" Text="" />

<Style x:Key="TextBoxStyle" TargetType="{x:Type TextBox}">
    <Setter Property="FontSize" Value="14" />
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="BitmapEffect">
                <Setter.Value>
                    <OuterGlowBitmapEffect GlowColor="Red" GlowSize="10"/>
                </Setter.Value>
            </Setter>
        </Trigger>
    </Style.Triggers>
</Style>
  

Но это не работает. Что я пропустил?

Комментарии:

1. Вы не должны использовать BitmapEffect .

Ответ №1:

Из документации BitmapEffect :

[ObsoleteAttribute(«BitmapEffects устарели и больше не функционируют. Рассмотрите возможность использования эффектов там, где это уместно «.)]

Вы можете имитировать свечение, используя Effect свойство с экземпляром DropShadowEffect .

Ответ №2:

попробуйте это

 <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Effect">
                <Setter.Value>
                    <DropShadowEffect BlurRadius="10" Color="Red" ShadowDepth="0"/>
                </Setter.Value>
            </Setter>
        </Trigger>