2011-03-17 36 views
0

我有一個標籤,裏面有圖像。我想申請一個簡單的動畫:改變透明度屬性實現淡入效果的標籤加載後(或者是可見的或任何時候)WPF:如何將簡單的動畫應用於標籤?

但是,這並不工作:

<Label ContentTemplate="{DynamicResource ImageLabelDataTemplate}" Canvas.Left="36" Canvas.Top="394" Height="116" Name="PreviousVirtualButton" Width="100" Visibility="Hidden"> 
       <Label.Style> 
        <Style TargetType="Label"> 
         <Style.Triggers> 
          <Trigger Property="IsVisible" Value="True"> 
           <Trigger.EnterActions> 
            <BeginStoryboard> 
             <Storyboard TargetProperty="Opacity"> 
              <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:5" /> 
             </Storyboard> 
            </BeginStoryboard> 
           </Trigger.EnterActions> 
          </Trigger>        
         </Style.Triggers> 
         </Style> 
       </Label.Style> 
      </Label> 

我想看看標籤如何在屏幕上消失。

在此先感謝。

+3

你或許應該開始接受回答大家的一些問題。它給你點你的名譽,它也給予他人更多回答你的問題的動機,因爲如果你接受他們的答案,他們也得到積分。 =) – MBU 2011-03-17 21:51:34

+0

如果它解決了您的問題,請接受答覆作爲答覆。它也鼓勵他人回答。 – 2011-03-18 04:03:10

回答

1

如果您刪除了Visibility="Hidden",它將起作用(假設您希望它在加載時淡入)。否則,當您希望它開始淡入時,請將Visibility設置爲Visibility.Visible。此外,請確保在ContentTemplate中有可見的東西。

1

您是否將標籤設置在您的代碼中?您必須將其設置爲可見才能觸發動畫。

C#例如:

previousVirtualButton.Visibility = System.Windows.Visibility.Visible;

4

試試這個:

<Window x:Class="WpfApplicationUnleashed.Window2" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="Window2" Width="200" MinWidth="200" MaxWidth="300" MaxHeight="120" MinHeight="120" Height="120"> 
    <Grid> 
     <Label Canvas.Left="36" Content="HELLO" Canvas.Top="394" Height="116" Name="PreviousVirtualButton" Width="100"> 
      <Label.Style> 
       <Style TargetType="Label"> 
        <Style.Triggers> 
         <EventTrigger RoutedEvent="Label.Loaded"> 
          <EventTrigger.Actions> 
           <BeginStoryboard> 
            <Storyboard TargetProperty="Opacity"> 
             <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:5" /> 
            </Storyboard> 
           </BeginStoryboard> 
          </EventTrigger.Actions> 
         </EventTrigger> 
        </Style.Triggers> 
       </Style> 
      </Label.Style> 
     </Label> 
    </Grid> 
</Window>