【发布时间】:2014-08-07 04:19:29
【问题描述】:
我有一个按钮,例如:
<Button HorizontalAlignment="Left" Margin="0,55,0,0" VerticalAlignment="Top" Width="350" Click="StartProcedure_Click" BorderThickness="0" Height="60" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" HorizontalContentAlignment="Left" ScrollViewer.VerticalScrollBarVisibility="Disabled" VerticalContentAlignment="Center" Padding="10,1,0,0" IsHitTestVisible="True">
<StackPanel Orientation="Horizontal">
<Image Source="resources\img_xraystarticon.png" Width="50" Height="50"/>
<TextBlock TextElement.Foreground="#6a6869" Padding="5,0,0,0" VerticalAlignment="Center" FontSize="30" FontFamily="Century Gothic">Start Procedure</TextBlock>
</StackPanel>
<Button.Background>
<ImageBrush ImageSource="resources\img_emptyrectbutton.png"/>
</Button.Background>
</Button>
我应用了 Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" 样式来删除默认使用 Button 的鼠标悬停效果。但是,我仍然继续遇到鼠标悬停效果,如下所示:
鼠标悬停之前和鼠标悬停:
我试图覆盖 MouseEnter 事件但没有成功(我已确认触发了我的 MouseEnter 事件,但我似乎无法否定上述默认情况下使用 MouseEnter 设置的属性)。
我需要做些什么来避免上述情况?
谢谢!
编辑:
我已输入以下代码,但现在无法正确执行 MouseEnter 函数(我希望文本更改颜色,但我没有看到它发生):
<Button Name="Button_StartMenu" HorizontalAlignment="Left" Margin="0,55,0,0" VerticalAlignment="Top" Width="350" Click="StartProcedure_Click" BorderThickness="0" Height="60" HorizontalContentAlignment="Left" ScrollViewer.VerticalScrollBarVisibility="Disabled" VerticalContentAlignment="Center" Padding="10,1,0,0" IsHitTestVisible="True" MouseEnter="Button_MouseEnter">
<Button.Background>
<ImageBrush ImageSource="resources\img_emptyrectbutton.png"/>
</Button.Background>
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Style>
<StackPanel Orientation="Horizontal">
<Image Source="resources\img_xraystarticon.png" Width="50" Height="50"/>
<TextBlock TextElement.Foreground="#6a6869" Padding="5,0,0,0" VerticalAlignment="Center" FontSize="30" FontFamily="Century Gothic"><Run Text="Start Procedure"/></TextBlock>
</StackPanel>
</Button>
【问题讨论】:
标签: c# xaml mouseenter