2013-03-30 40 views
0

我有一個具有以下結構的列表框。數據顯示良好,沒有問題。我想獲得一些對StackPanel有影響的動畫,但由於它在DataTemplate中,所以我無法使用Blend來獲得所需的動畫效果。在DataTemplate中應用動畫

我想我可以寫一個事件處理程序和代碼,但這是實現動畫ListBox項目的最佳方法?

<ListBox Height="600" ItemsSource="{StaticResource learn}"> 
    <ListBox.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Height="100" Orientation="Horizontal"> 
      <TextBlock Width="0" Text="{Binding ID}" /> 
      <Image Height="100" Width="100"/> 
      <StackPanel Orientation="Vertical" Width="319" VerticalAlignment="Center"> 
       <TextBlock TextWrapping="Wrap" Text="{Binding Text}" Margin="6,0,0,0" FontSize="29.333" /> 
       <TextBlock TextWrapping="Wrap" Text="{Binding Description}" Margin="6,0,0,0" FontSize="16"/> 
      </StackPanel> 
     </StackPanel> 
    </DataTemplate> 
    </ListBox.ItemTemplate> 
    </ListBox> 

回答

0

好了,所有你需要做的是創建一個新的用戶控件和所有的動畫添加到用戶的控制和啓動你想要的動畫。在列表框數據模板中,創建該數據模板的一個實例。

重現步驟:

  1. 在項目中創建一個新的用戶控件。
  2. 在混合中將動畫添加到該用戶控件的動畫中。
  3. 在數據模板中添加用戶控件。
  4. 開始你想要的動畫。

替代方法:不創建新的用戶控件,您可以通過創建故事板並應用所需的轉換來指定動畫。這爲所有列表框項目提供了一個通用動畫。