1

我有ItemsControl我绑定的ObservableCollection

在我的视图模型上,我只是插入对象,它会弹出到 UI

我想展示过渡。例如,我希望该项目淡入,以便用户直观地注册此更改,假设它发生在 1 秒内。

我应该寻找什么?它是如何在 WPF 中完成的?

编辑:

我想我需要某种动画,但我正在寻找的是没有编码的简单东西。简单的 XAML 实现,有什么内置的吗?我尝试TranslateTransform了其他选择,但它没有做任何事情。

<ItemsControl ItemsSource="{Binding Source={StaticResource TrucksSource}}">
                <ItemsControl.RenderTransform>
                    <TranslateTransform />
                </ItemsControl.RenderTransform>
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding TruckId}" Background="Aqua"/>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
4

2 回答 2

0

对于淡入,您可以EventTriggerLoaded事件上使用ContentPresenters

<ItemsControl ItemsSource="{Binding Source={StaticResource TrucksSource}}">
    <ItemsControl.ItemContainerStyle>
        <Style TargetType="ContentPresenter">
            <Style.Triggers>
                <EventTrigger RoutedEvent="Loaded">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard Storyboard.TargetProperty="Opacity">
                                <DoubleAnimation From="0.0"
                                                 To="1.0"
                                                 Duration="00:00:01"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
            </Style.Triggers>
        </Style>
    </ItemsControl.ItemContainerStyle>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding TruckId}" Background="Aqua"/>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
于 2012-06-18T07:32:00.623 回答
0

阅读:http: //msdn.microsoft.com/en-us/library/ms750596.aspx

您需要动画转换(最后一章)并将不透明度值从 1.0 更改为 0.0

于 2012-06-18T03:24:16.693 回答