2011-03-17 43 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>