2017-07-16 52 views
-1

如何進入(徘徊)按鈕如何使在懸停動畫開始 - 故事板

TextBlock我想的是,<EventTrigger RoutedEvent將在Input2MouseEnter時使TextBlock的動畫開始,我該怎麼辦這

<EventTrigger RoutedEvent=Input2.MouseEnter不認可

按鈕:

<Button Grid.Row="0" Name="Input2" Click="Input_Click" MouseEnter="Input_MouseEnter" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="{x:Null}"> 
       <Button.Template> 
        <ControlTemplate> 
         <Border HorizontalAlignment="Center" VerticalAlignment="Center" > 
          <Image Source= "C:\Users\Luvaton\Documents\Visual Studio 2017\Projects\10KHours\10KHours\Media\input.png" 
           Width="40" 
           Height="40"/> 
         </Border> 
        </ControlTemplate> 
       </Button.Template> 
      </Button> 

TextBlock

<TextBlock Grid.Row="0" Name="Input_Name1" Text="Input" FontSize="40" FontFamily="/10KHours;component/Font_count/#Dancing Script" VerticalAlignment="Center" Height="48" Margin="65.346,33.6,-102.081,36"> 
       <TextBlock.Triggers> 
        <EventTrigger RoutedEvent="TextBlock.Loaded"> 
         <BeginStoryboard> 
          <Storyboard> 
           <DoubleAnimation 
              Storyboard.TargetName="Input_Name1" 
              Storyboard.TargetProperty="Opacity" 
              From="1.0" To="0.0" Duration="0:0:5" 
              AutoReverse="true" RepeatBehavior="1x"> 
           </DoubleAnimation> 
          </Storyboard> 
         </BeginStoryboard> 
        </EventTrigger> 
       </TextBlock.Triggers> 
      </TextBlock> 
+0

什麼是你的_specific_問題?你有嘗試過什麼嗎?什麼沒有用?您似乎已經瞭解如何針對某個事件啓動動畫。你用這個按鈕試過了嗎?提供一個很好的[mcve],它可以顯示你所做的事情,準確地解釋代碼的作用,你希望它做什麼,以及你有什麼特別的問題。 –

回答

2

的基本思想來改變TextBlock的風格是完全正確的。添加一個DataTrigger並將其綁定到您要懸停的ButtonIsMouseOver。使用IsMouseOver是獲取所需信息的最簡單方法。這裏是一個簡單的例子:

<Button x:Name="btn" Content="Hover me"/> 
<TextBlock x:Name="tb" Text="Input"> 
    <TextBlock.Style> 
     <Style TargetType="{x:Type TextBlock}"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding ElementName=btn, Path=IsMouseOver}" Value="True"> 
        <DataTrigger.EnterActions> 
         <BeginStoryboard> 
          <Storyboard> 
           <DoubleAnimation 
            Storyboard.TargetProperty="Opacity" 
            From="1.0" To="0.0" Duration="0:0:1" 
            AutoReverse="true" RepeatBehavior="1x"> 
           </DoubleAnimation> 
          </Storyboard> 
         </BeginStoryboard> 
        </DataTrigger.EnterActions> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </TextBlock.Style> 
</TextBlock> 
+0

爲什麼DataTrigger? * *應該這樣做 –

+0

是的,但他需要獲取不同元素的「IsMouseOver」。 – Fruchtzwerg

+0

哦,現在我明白了; o) –