私は時々分けづらいWPFを探しています。次のXAMLが与えられると、ObservableCollectionタイムラインに追加された新しいアイテムをアニメーション化(スライドダウン、フェードイン)するトリガーが追加されます。私はリストボックスのさまざまな例を見てきましたが、項目を制御するものはありません。私は、WPFアニメーションきたので、ItemsControlへの挿入をアニメーション化する
<Grid>
<ScrollViewer>
<ItemsControl Name="TimelineItem"
ItemsSource="{Binding Timeline}"
Style="{StaticResource TimelineStyle}"
ItemContainerStyle="{StaticResource TweetItemStyle}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid VerticalAlignment="Top"
HorizontalAlignment="Left">
<Grid.ColumnDefinitions>
<ColumnDefinition Style="{StaticResource TweetImageColumnStyle}" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Rectangle Grid.Column="0"
Style="{StaticResource TweetImageStyle}">
<Rectangle.Fill>
<ImageBrush ImageSource="{Binding ProfileImageUrl}" />
</Rectangle.Fill>
</Rectangle>
<StackPanel Grid.Column="1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0"
Style="{StaticResource TweetNameStyle}"
Text="{Binding Name}" />
<TextBlock Grid.Column="1"
Style="{StaticResource TweetTimeStyle}"
Text="{Binding TimeAgo}" />
</Grid>
<Controls:TextBlockMarkup Grid.Row="1"
Grid.Column="1"
Markup="{Binding MarkupText}"
Style="{StaticResource TweetStyle}" />
</StackPanel>
<Separator Grid.Row="2"
Grid.ColumnSpan="2"
Style="{StaticResource TweetSeparatorTop}" />
<Separator Grid.Row="3"
Grid.ColumnSpan="2"
Style="{StaticResource TweetSeparatorBottom}" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</Grid>
優れた答えです。不透明度は素晴らしいですが、私はスライダダウンでエラーが発生しています。 '[Unknown]'プロパティはパス '(0)。(1)[3]。(2)'のDependencyObjectを指していません。私はさまざまな子供のインデックスを試しましたが、私はどのようにエラーを解釈するのかよく分かりません –
私は高さのアニメーションを動作させるために変換グループが必要になるでしょう。私は一種のそれが TransformGroup> 思考を追加することで動作するようになりましたか? –
受け取ったエラーを修正するための例を更新しました。すべての静的リソースとカスタムコントロールのために投稿したものとは少し違うxamlを使用していました。私は答えの一番下にいくつかのノートを入れました。 HTH's。 –