0
画像ボタンのみを表示するために、デフォルトのボタンスタイルをオーバーライドする必要があります。VisualStateManagerが.NET 4.0(wpf)で動作しないようです
これは完全に機能していますが、私のXAMLスタイルで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>
マウスでボタンを押すことはできません。これは視覚的な問題ですか?ボタンをクリックした時点で何か他のことが起こると期待していますが、そうではありませんか? –
上記のスタイルiはボタンスタイルです。ボタンを作成し、上記のスタイルを設定します。ボタンは表示されます(枠線やすべてのものはありません)が、そのボタンをクリックすると何も起こりません。しかし、VisualStateGroupを見ると、2ピクセル移動する必要があります。 – BitKFu