2016-07-05 2 views
0

경로가있는 단추가 있습니다. 원하는 단추를 클릭하면 경로가 리그 위쪽으로 이동합니다. 버튼에 스타일과 트리거를 추가했지만 작동하지 않습니다. ControlTemplate에 트리거를 추가하려고 시도했지만이를 허용하지 않습니다.버튼으로 경로 애니메이션

제안 사항이 있으면 알려 주시면 감사하겠습니다. 시간에 대한

<Button x:Name="btnEnviarCorreo" Height="50" Width="100" Padding="5" Content="Enviar Correo" Margin="2,2" > 
<Button.Style> 
<Style TargetType="Button"> 
<Setter Property="Background" Value="SteelBlue"/> 
<Setter Property="Foreground" Value="White" /> 
<Setter Property="FontSize" Value="15" /> 
<Setter Property="FontFamily" Value="./#Segoe UI" /> 
<Setter Property="SnapsToDevicePixels" Value="True" /> 
<Setter Property="FontWeight" Value="Bold"/> 
<Setter Property="Template"> 
<Setter.Value> 
<ControlTemplate TargetType="{x:Type Button}"> 
<Border CornerRadius="4" Background="{TemplateBinding Background}"> 
<Grid> 
<Path x:Name="PathIcon" Width="15" Height="25" Stretch="Fill" Fill="#E59400" HorizontalAlignment="Left" Margin="17,0,0,0" Data="F1M30.0833,22.1667L50.6665,37.6043 50.6665,38.7918 30.0833,53.8333 30.0833,22.1667z"/>               <ContentPresenter x:Name="MyContentPresenter" Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,0" /> 
</Grid>         
</Border> 
<ControlTemplate.Triggers> 
<Trigger Property="IsMouseOver" Value="True"> 
<Setter Property="Background" Value="#E59400" /> 
<Setter Property="Foreground" Value="White" /> 
<Setter TargetName="PathIcon" Property="Fill" Value="Black" /> 
</Trigger> 
<Trigger Property="IsPressed" Value="True"> 
<Setter Property="Background" Value="OrangeRed" /> 
<Setter Property="Foreground" Value="White" /> 
</Trigger>         
</ControlTemplate.Triggers>        
</ControlTemplate> 
</Setter.Value> 
</Setter> 
<Style.Triggers> 
<EventTrigger RoutedEvent="Click"> 
<EventTrigger.Actions> 
<BeginStoryboard> 
<Storyboard> 
<DoubleAnimation Storyboard.TargetName="PathIcon" Storyboard.TargetProperty="RenderTransform.(TranslateTransform.X)" From="0" To="200" /> 
</Storyboard> 
</BeginStoryboard> 
</EventTrigger.Actions> 
</EventTrigger> 
</Style.Triggers> 
</Style>     
</Button.Style> 
</Button> 

감사 :

내 코드입니다.

답변

1

ControlTemplate.Triggers 블록 내부 어딘가에 다음 코드를 추가

<EventTrigger RoutedEvent="MouseEnter"> 
            <BeginStoryboard> 
             <Storyboard> 
              <ThicknessAnimation From="17,0,0,0" To="100, 0, 0, 0" Duration="0:0:1" Storyboard.TargetProperty="Margin" 
                   Storyboard.TargetName="PathIcon"/> 
             </Storyboard> 
            </BeginStoryboard> 
           </EventTrigger> 

완벽하지 않습니다, 당신은 자신에 대한 몇 가지 세부 사항을 설정하기 위해 해결해야합니다. EventTrigger 내 여백에 애니메이션을 사용합니다. 다른 실험을 시도해 볼 수 있습니다. D

+0

정말 고맙습니다. 저에게 많은 도움이됩니다. 도와 주셔서 정말 고맙습니다. – MagnunStalin

관련 문제