我想要覆盖默认按钮样式,以便只有一个图像按钮,没有边框和所有这些东西。
这一切都很完美,但是虽然我在XAML Style中定义了VisualStateManager,但是无法用鼠标按下按钮。事实上,它什么都不做。
我做错了什么?
<!-- Button Style -->
<Style x:Key="WinImageButton" TargetType="Button">
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Background" Value="Transparent"/>
<Setter Property="RenderTransform">
<Setter.Value>
<TranslateTransform/>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<ContentControl x:Name="RootElement">
<ContentPresenter
HorizontalAlignment="Center"
VerticalAlignment="Center"
RecognizesAccessKey="True">
</ContentPresenter>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup Name="CommonStates">
<VisualState Name="Normal" />
<VisualState Name="Pressed">
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="RootElement"
Storyboard.TargetProperty="(FrameworkElement.RenderTransform).(TranslateTransform.Y)"
To="2.0" />
<DoubleAnimation
Storyboard.TargetName="RootElement"
Storyboard.TargetProperty="(FrameworkElement.RenderTransform).(TranslateTransform.X)"
To="-2.0" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</ContentControl >
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
答案 0 :(得分:0)
您是否尝试将TranslateTransition移动到ControlTemplate内部? (您可以将其放在模板的资源部分。)