如何在WPF中的Mouse Over事件上更改borderbrush

时间:2019-04-04 08:41:53

标签: wpf

当鼠标悬停在按钮上时,我正在尝试更改BorderBrush的颜色。我为按钮创建了一个新的控件模板,但是在设置触发器时,Visual Studio告诉我必须使用EventTrigger,但是当我使用此按钮时,没有MouseOver事件,只有{{ 1}}事件。应用此选项并运行解决方案时,边框笔刷不会更改。有什么建议吗?

编辑:

代码我遇到了以下问题:

MouseEnter

1 个答案:

答案 0 :(得分:2)

您可以将Trigger添加到<ControlTemplate.Triggers>而不是将EventTrigger添加到<Border.Triggers>

<ControlTemplate x:Key="LogInButton">
    <Grid Width="AUTO" Height="AUTO">
        <Border x:Name="ButtonBorder"
                BorderBrush="#B7B7B7"
                BorderThickness="2"
                Background="Transparent"
                Cursor="Hand">
            <Image Source="{Binding Tag, RelativeSource={RelativeSource TemplatedParent}}"/>
        </Border>
    </Grid>
    <ControlTemplate.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter TargetName="ButtonBorder" Property="BorderBrush" Value="White" />
        </Trigger>
    </ControlTemplate.Triggers>
</ControlTemplate>