我使用模板化的 RadioButtons 和 Grids 完成了一个简单的 TabControl,当 RadioButton 上的 IsChecked 发生变化时,它们会改变可见性,如下所示:
<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>
现在,里面的每个网格都定义了 EntranceThemeTransition,如下所示:
<GridGrid.Row="1" Visibility="{Binding ElementName=RadioButton1, Path=IsChecked, Converter={StaticResource BoolToVisibilityConverter}}">
<Grid.ChildrenTransitions>
<TransitionCollection>
<EntranceThemeTransition />
</TransitionCollection>
</Grid.ChildrenTransitions>
据我了解,EntranceThemeTransition 仅在项目首次显示时显示。每次 Grid 的可见性发生变化时,有没有办法强制 EntranceThemeTransition 重复?