0

次の構造のリストボックスがあります。データは正常に表示され、問題はありません。StackPanel のアニメーション効果を取得したいのですが、DataTemplate 内にあるため、Blend を使用して目的のアニメーション効果を得ることができません。

そのためのイベント ハンドラーとコードを記述できると思いますが、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>
4

1 に答える 1

0

新しいユーザー コントロールを作成し、すべてのアニメーションをそのユーザー コントロールに追加して、必要な場所でアニメーションを開始するだけです。リスト ボックス データ テンプレートで、そのデータ テンプレートのインスタンスを作成します。

再現する手順:

  1. プロジェクトに新しいユーザー コントロールを作成します。
  2. ブレンド内のそのユーザー コントロールへのアニメーションにアニメーションを与えます。
  3. ユーザー コントロールをデータ テンプレートに追加します。
  4. 好きなところからアニメーションを開始します。

別の方法: 新しいユーザー コントロールを作成せずに、ストーリーボードを作成して必要な変換を適用することで、アニメーションを指定できます。これにより、すべてのリスト ボックス項目に共通のアニメーションが表示されます。

于 2013-03-30T10:19:00.233 に答える