【问题标题】:WPF- Mouse Over effect not taking placeWPF-鼠标悬停效果未发生
【发布时间】:2017-12-21 02:07:13
【问题描述】:

我在 WPF 中创建了一组按钮。我在按钮上添加了两个触发器,MouseOver 和 IsPressed。但是,只有 IsPressed 触发器有效,但 MouseOver 效果无效。我希望能够用鼠标光标突出显示按钮,然后它会变成不同的颜色。我错过了什么?

XAML:

<Setter Property="Template">
        <Setter.Value>
        <ControlTemplate TargetType="{x:Type Button}">
        <Border x:Name="Border" >
     <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                   </Border>
                 <ControlTemplate.Triggers>
                  <Trigger Property="IsMouseOver" Value="True">

              <Setter Property="Background" Value="DarkGoldenrod"/>
                            </Trigger>

           <Trigger Property="IsPressed" Value="True">
     <Setter TargetName="Border" Property="BorderThickness" Value="10,10,0,0"/>

              </Trigger>
                 </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
            </Setter>

已编辑:

<Style.Triggers>
                    <Trigger Property="IsPressed" Value="True">

                        <Setter Property="BorderThickness" Value="10,10,0,0">

                        </Setter>
                        <Setter Property="Opacity" Value="0.2"/>

                    </Trigger>

                </Style.Triggers>

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

    您的 DarkGoldenrod 触发器中缺少 TargetName="Border"。

    【讨论】:

    • 我用了不同的方式,但是现在当被按下时背景变成了深蓝色
    • 不同如何?在没有指定的情况下按下时呈深蓝色,这表明您正在使用默认模板并对其进行修改?
    • 现在,鼠标悬停效果发生在其他地方,我相信它是默认的windows。我只需要 IsPressed 的凹陷效果
    • 当效果启动时,按钮边缘(顶部和左侧)外似乎有一个深蓝色。我需要让它变得透明。
    • 我注意到 IsPressed 是通过 Style 触发器而不是 ControlTemplate 触发器修改的。您是否还在原始帖子中使用相同的模板?你修改了吗?彻底删除?您的问题的屏幕截图也可能会有所帮助。
    猜你喜欢
    • 2011-06-20
    • 2011-12-01
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 2013-11-23
    • 2016-04-26
    • 2013-06-15
    • 1970-01-01
    相关资源
    最近更新 更多