Windows 8 重复METRANSION

Windows 8 重复METRANSION,windows-8,winrt-xaml,Windows 8,Winrt Xaml,我有一个简单的TabControl,它使用模板单选按钮和网格来完成,当选中单选按钮时,这些按钮和网格会改变可见性,如下所示: <Grid Name="TabGrid"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*" /> </Grid.RowDefini

我有一个简单的TabControl,它使用模板单选按钮和网格来完成,当选中单选按钮时,这些按钮和网格会改变可见性,如下所示:

<Grid Name="TabGrid">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <StackPanel Grid.Row="0" Orientation="Horizontal">
            <RadioButton x:Name="RadioButton1" Content="Latest" Style="{StaticResource TabRadioButtonStyle}" IsChecked="True" GroupName="G1"/>
            <RadioButton x:Name="RadioButton2" Content="Popular" Style="{StaticResource TabRadioButtonStyle}" IsChecked="False" GroupName="G1" Margin="30,0,0,0" />
        </StackPanel> 
        <GridGrid.Row="1" Visibility="{Binding ElementName=RadioButton1, Path=IsChecked, Converter={StaticResource BoolToVisibilityConverter}}">
            <Grid.ChildrenTransitions>
                <TransitionCollection>
                    <EntranceThemeTransition />
                </TransitionCollection>
            </Grid.ChildrenTransitions>

现在,内部的每个网格都定义了Metransition,如下所示:

<Grid Name="TabGrid">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <StackPanel Grid.Row="0" Orientation="Horizontal">
            <RadioButton x:Name="RadioButton1" Content="Latest" Style="{StaticResource TabRadioButtonStyle}" IsChecked="True" GroupName="G1"/>
            <RadioButton x:Name="RadioButton2" Content="Popular" Style="{StaticResource TabRadioButtonStyle}" IsChecked="False" GroupName="G1" Margin="30,0,0,0" />
        </StackPanel> 
        <GridGrid.Row="1" Visibility="{Binding ElementName=RadioButton1, Path=IsChecked, Converter={StaticResource BoolToVisibilityConverter}}">
            <Grid.ChildrenTransitions>
                <TransitionCollection>
                    <EntranceThemeTransition />
                </TransitionCollection>
            </Grid.ChildrenTransitions>


据我所知,只有在项目首次显示时才会显示EnterthemeTransition。是否有一种方法可以在栅格的可见性每次更改时强制METRANSION重复

这并不能完全回答您的问题,但我认为这将帮助许多人登陆这里:

如果要为数据绑定列表框中的项目重复入口动画,我只找到一种方法:

  • 将listbox的DataContext设置为null(这将删除项目)
  • 将列表框的DataContext设置回列表/可观察集合(这将重新创建项目并使用动画将其添加到列表框)
通过重置DataContext,您正在创建新的listbox项,而这些项尚未标记为已进入视图

关于你的问题,;我认为您需要创建一个新版本的网格来再次播放入口动画