2016-06-13 46 views
0

我看到一些类似的问题,但似乎没有解决方案的工作。当“IsMouseOver”为True时更改WPF按钮前景

我宁愿通过XAML获得解决方案,但不会介意通过代码(VB.net)。

我有这样的代码当前,不知道有多少是正确的:提前

<Style TargetType="{x:Type Button}"> 
      <Setter Property="OverridesDefaultStyle" Value="True"/> 
      <Setter Property="Foreground" Value="DarkSlateGray"/> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="{x:Type Button}"> 
         <Border Background="White"> 
          <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> 
         </Border> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
      <Style.Triggers> 
       <Trigger Property="IsMouseOver" Value="True"> 
        <Setter Property="Foreground" Value="DodgerBlue"/> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 

感谢。

+0

您的xaml基本上是正确的一件事情。 应该是。前景也是如此。 – lokusking

回答

1

它通常是正确的。但请注意,您的模板中的ContentPresenter没有Content属性定义。当然,如果您需要更复杂的触发器,您还可以将其他事项(如IsEnabled)合并为MultiTrigger

+0

谢谢,有了这个输入,我得到了我想要的 –