从GridView XAML添加或删除项目时的动画

从GridView XAML添加或删除项目时的动画,xaml,animation,windows-8,winrt-xaml,Xaml,Animation,Windows 8,Winrt Xaml,如何在GridView中添加或删除项目时创建自己的动画?例如,将颜色从深色改为浅色。 如果项目是网格: <Grid.Transitions> --> There can be only predefinied *ThemeTransitions? </Grid.Transitions> -->只能有预定义的*METRANSIONS? 还有其他方法可以做到这一点吗?如果用作GridView的ItemsSource的集合是一个Obs

如何在GridView中添加或删除项目时创建自己的动画?例如,将颜色从深色改为浅色。
如果项目是网格:

<Grid.Transitions>
        --> There can be only predefinied *ThemeTransitions?       
 </Grid.Transitions>

-->只能有预定义的*METRANSIONS?

还有其他方法可以做到这一点吗?

如果用作GridView的ItemsSource的集合是一个ObservableCollection,而您的后台代码侦听了该集合中的更改,该怎么办?然后,您可以从代码隐藏中控制动画。

如果用作GridView的ItemsSource的集合是一个ObservableCollection,而您的代码隐藏则侦听该集合中的更改,该怎么办?然后从后面的代码中可以控制动画。

正确,只能有预定义的过渡。此时转换模型不会公开。

正确,只能有预定义的转换。转换模型目前尚未公开。

添加到GridView的“父”列表视图的行可以通过多种方式提供,但通常绑定到某个可观察的集合

GridView的列也由ObservableCollection管理,因此上下文应该非常相似

几天前,我发表了一篇关于如何管理专栏管理(使用动画)的文章。也许我能帮你

更新:对不起,但我后来意识到你指的是商店应用程序的XAML。相反,我的参考是WPF。

添加到GridView的“父”列表视图中的行可以通过多种方式输入,但通常绑定到某个可观察的集合

GridView的列也由ObservableCollection管理,因此上下文应该非常相似

几天前,我发表了一篇关于如何管理专栏管理(使用动画)的文章。也许我能帮你


更新:对不起,但我后来意识到你指的是商店应用程序的XAML。我的参考是WPF。

Tim正确地指出,在这一点上,转换是预定义的。但是,您应该能够使用故事板实现您的场景。可能有几种方法可以做到这一点,例如重新模板GridViewItem和添加新的“加载”/“卸载”视觉状态。以下是通过在ItemTemplate中放置故事板来实现场景的简单方法:

MainPage.xaml:

    <GridView x:Name="MyGV">
        <GridView.ItemTemplate>
            <DataTemplate>
                <Grid Loaded="Grid_Loaded" x:Name="TemplateRoot" Opacity="0" Background="White">
                    <Grid.Resources>
                        <Storyboard x:Key="LoadedStoryboard">
                            <DoubleAnimation Storyboard.TargetName="TemplateRoot"
                                             Storyboard.TargetProperty="Opacity"
                                             BeginTime="0:0:1"
                                             Duration="0:0:5"
                                             To="1" />
                        </Storyboard>
                    </Grid.Resources>
                    <TextBlock Text="{Binding}" FontSize="24" Foreground="Black" Margin="40" />
                </Grid>
            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>
示例源代码位于此处:
Tim正确地指出,此时已预先定义了过渡。但是,您应该能够使用故事板实现您的场景。可能有几种方法可以做到这一点,例如重新模板GridViewItem和添加新的“加载”/“卸载”视觉状态。以下是通过在ItemTemplate中放置故事板来实现场景的简单方法:

MainPage.xaml:

    <GridView x:Name="MyGV">
        <GridView.ItemTemplate>
            <DataTemplate>
                <Grid Loaded="Grid_Loaded" x:Name="TemplateRoot" Opacity="0" Background="White">
                    <Grid.Resources>
                        <Storyboard x:Key="LoadedStoryboard">
                            <DoubleAnimation Storyboard.TargetName="TemplateRoot"
                                             Storyboard.TargetProperty="Opacity"
                                             BeginTime="0:0:1"
                                             Duration="0:0:5"
                                             To="1" />
                        </Storyboard>
                    </Grid.Resources>
                    <TextBlock Text="{Binding}" FontSize="24" Foreground="Black" Margin="40" />
                </Grid>
            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>
示例源代码位于此处:

如何为添加/删除项目创建自定义动画。实际上,我认为使用xaml和winrt是不可能的。我如何为添加和删除项目创建自定义动画。事实上,我认为使用xaml和winrt是不可能的。是否有避免代码落后的选项?是用XAML定义这个动画的一种方法吗?我不确定,但可能。如果在xaml中进行调试,那么调试就比较困难。是否有避免代码落后的选项?是用XAML定义这个动画的一种方法吗?我不确定,但可能。如果在xaml中进行调试,则调试会更困难。这似乎不适用于卸载。此时该项目似乎已脱离可视树。这似乎不适用于已卸载的项目。看起来该项此时已脱离可视树。