是否可以为不是按钮的WPF元素创建鼠标悬停状态?

时间:2013-01-14 21:36:13

标签: wpf xaml mouseevent

我有一堆带有Trigger s和悬停效果的按钮。我发现一些问题覆盖了我的主题,所以我想知道是否可以将鼠标悬停效果添加到其他元素,例如TextBlock s或StackPanel s。那可能吗?

2 个答案:

答案 0 :(得分:1)

刚刚发现它是可能的。将其作为答案以防万一。

TextBlock的悬停状态:

<TextBlock Text="Textblock">   
        <TextBlock.Style>    
            <Style TargetType="TextBlock">      
                <Style.Triggers>         
                    <Trigger Property="IsMouseOver" Value="True">     
                        <Setter Property="TextBlock.Background" Value="Blue" />   
                    </Trigger>    
                </Style.Triggers>     
            </Style>   
        </TextBlock.Style>
    </TextBlock>

答案 1 :(得分:1)

是的可能但有限,但设置背景是唯一的选择

  <TextBlock Text="Hello World!" Margin="0,23,0,111">
            <TextBlock.Style>
                <Style TargetType="TextBlock">
                    <Setter Property= "Background" Value="Transparent"/>
                    <Style.Triggers>
                       <Trigger Property ="IsMouseOver" Value="True">
                            <Setter Property= "Background" >
                                <Setter.Value>
                                    <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                                        <GradientStopCollection>
                                            <GradientStop Color="Aqua" Offset="0" />
                                            <GradientStop Color="Transparent" Offset="1" />
                                        </GradientStopCollection>
                                    </LinearGradientBrush>
                                </Setter.Value>
                            </Setter>
                       </Trigger>
                    </Style.Triggers>
                </Style>
            </TextBlock.Style>
        </TextBlock>

结果

enter image description here enter image description here