繁体   English   中英

消除WPF按钮的鼠标悬停效果

[英]Remove mouseover effect of WPF Button

我找不到这个问题的简单答案。

我在WPF中创建了一个Button并为其提供了背景图片。 首先,我的问题是边界,但是后来我能够使用

Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"

现在的问题是Windows MouseOver效果可见。 有一个简单的方法可以删除吗? 我试图用Image代替Value 它起作用了,但是我不能在按钮上设置Text了。

<Button x:Name="gameBtnAnswer1" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Cursor="Hand" Padding="-4" Margin="0,0,18,0" Height="38" Width="336" HorizontalAlignment="Left" FontSize="16" Foreground="White" Click="gameBtnAnswer1_Click" BorderThickness="0" Focusable="False">
    <Button.Background>
        <ImageBrush ImageSource="themes/blue/button_answer.png" Stretch="None" TileMode="Tile"/>
    </Button.Background>
    <Button.Content>
        Hier steht die Antwort #1
    </Button.Content>
</Button>

我认为最好的方法是重新定义按钮ControlTemplate。 这是msdn doc

没有触发器的示例模板:

<Style TargetType="Button">
  <Setter Property="SnapsToDevicePixels" Value="true"/>
  <Setter Property="OverridesDefaultStyle" Value="true"/>
  <Setter Property="FocusVisualStyle" Value="{StaticResource ButtonFocusVisual}"/>
  <Setter Property="MinHeight" Value="23"/>
  <Setter Property="MinWidth" Value="75"/>
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="Button">
        <Border 
          x:Name="Border"  
          CornerRadius="2" 
          BorderThickness="1"
          Background="{StaticResource NormalBrush}"
          BorderBrush="{StaticResource NormalBorderBrush}">
          <ContentPresenter 
            Margin="2"
            HorizontalAlignment="Center"
            VerticalAlignment="Center"
            RecognizesAccessKey="True"/>
        </Border>
        <ControlTemplate.Triggers>




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

首先想到的是重新设计按钮的模板。 在模板中,您将看到带有很多状态的VisualStateManager类。 这些状态之一是MouseOver。 在该MouseOver声明中,您可以放置​​任何想要使Button看起来像您想要的样子的东西。 例如,在VisualStateManager中还应该有一些默认的视觉状态,因此您可以将默认状态下的磁偏角复制到鼠标悬停的视觉状态上,它们将是相同的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM