如何在WPF中删除鼠标悬停时的发光按钮

本文关键字:按钮 悬停 鼠标 WPF 删除 | 更新日期: 2023-09-27 18:26:47

我在WPF中使用一个简单的按钮。我已经把按钮的图像放在背景上了。我的问题是,当我把鼠标指针移到按钮上时,它会得到默认的光晕,并覆盖作为背景的图像。

        <Button Grid.Column="3" Name="Play" BorderBrush="Transparent"
            Focusable="False" Width="45" Height="45" Click="Play_Click"
            VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,6,10,6">
            <Button.Background >
                <ImageBrush ImageSource="images/play.png"  />
            </Button.Background>
            <Button.Foreground>
                <ImageBrush ImageSource="images/play.png"  />
            </Button.Foreground>
        </Button>

请帮帮我。

如何在WPF中删除鼠标悬停时的发光按钮

它在Button的ControlTemplate中定义。你应该创建自己的。

例如这样。

<Style x:Key="MyButtonStyle" TargetType="Button">
  <Setter Property="Template">
     <Setter.Value>
        <ControlTemplate TargetType="Button">
           <Grid Background="{TemplateBinding Background}">
              <ContentPresenter HorizontalAlignment="Center"
                        VerticalAlignment="Center"/>
           </Grid>
        </ControlTemplate>
     </Setter.Value>
  </Setter>
</Style>

然后您可以将此样式应用于您的按钮。并将"背景"设置为您的图像。

<Button Style="{StaticResource MyButtonStyle}" Grid.Column="3" Name="Play" BorderBrush="Transparent"
        Focusable="False" Width="45" Height="45" Click="Play_Click"
        VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,6,10,6">
        <Button.Background >
            <ImageBrush ImageSource="images/play.png"  />
        </Button.Background>
</Button>