私は拡大し、その高さのプロパティをアニメーション化することによってItemsSourceを縮小するイメージにトリガを持ちたいと思います。WPFアニメーションを展開する - コントラクトの高さを
ObservableCollectionにバインドされた汎用のItemsSourceがあるため、このコントロールの高さの合計はわかりません。
イメージがクリックされると、イメージソースグリフが変更され、アイテムソースが展開されていることが示されます。もう一度クリックすると、ItemsSourceは現在のの高さから0に収縮し始めます。最初のアニメーションが完了しない可能性があるためです。
現在、私は、次の画像のトリガーがあります。それは一定の高さにアニメーション化するため
<Image Name="ExpandImage" Source="ArrowDown.png">
<Image.Triggers>
<EventTrigger RoutedEvent="Image.MouseLeftButtonDown">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Height"
Storyboard.TargetName="myItemsControl"
From="0" To="300" Duration="0:0:2" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Image.Triggers>
</Image>
をこれは醜いです - 私はそれがItemsControlにの合計(未知の高さ)をアニメーション化する必要があります。また、一方向(拡張)アニメーションしかサポートしていません。
私のItemsControlは単純です:
<ItemsControl Name="myItemsControl"
ItemsSource="{Binding Items}" Height="0" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<c:CustomUserControl/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>