TransitionCollection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 Transition 对象的集合。 每个 Transition 对象表示不同的主题切换,这是Windows 运行时动画库的一部分。
public ref class TransitionCollection sealed : IIterable<Transition ^>, IVector<Transition ^>
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class TransitionCollection final : IIterable<Transition>, IVector<Transition>
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class TransitionCollection : IEnumerable<Transition>, IList<Transition>
Public NotInheritable Class TransitionCollection
Implements IEnumerable(Of Transition), IList(Of Transition)
<TransitionCollection>
oneOrMoreTransitions
</TransitionCollection>
- 继承
- 属性
- 实现
示例
此示例演示在内联设置 UIElement.Transitions 属性时,用于设置 TransitionCollection 对象元素的 XAML 语法。
<Button Content="EntranceThemeTransition Button">
<Button.Transitions>
<TransitionCollection>
<!-- This transition just uses the default behavior which is to
have the button animate into view from the right. You can
make it start from anywhere on the right by using the
FromHorizontalOffset property. If you'd rather see a vertical
animation, use the FromVerticalOffset property. -->
<EntranceThemeTransition />
</TransitionCollection>
</Button.Transitions>
</Button>
<Grid Background="{StaticResource ApplicationPageBackgroundBrush}">
<Grid.Resources>
<Style x:Key="DefaultButtonStyle" TargetType="Button">
<Setter Property="Transitions">
<Setter.Value>
<TransitionCollection>
<EntranceThemeTransition/>
</TransitionCollection>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<Button Style="{StaticResource DefaultButtonStyle}"
Content="EntranceThemeTransition style applied" />
</Grid>
注解
TransitionCollection 用作以下属性的值类型:
- Border.ChildTransitions
- ContentControl.ContentTransitions (内容控件(如 Button 或 AppBar)
- ContentPresenter.ContentTransitions
- ItemsControl.ItemContainerTransitions (项目控件,例如 GridView、 ListBox、 ListView 和 Selector)
- ItemsPresenter.FooterTransitions
- ItemsPresenter.HeaderTransitions
- ListViewBase.FooterTransitions
- ListViewBase.HeaderTransitions
- Grid、StackPanel 和其他面板上的 Panel.ChildrenTransitions ()
- Popup.ChildTransitions
- SettingsFlyoutTemplateSettings.ContentTransitions
- 数百个类的 UIElement.Transitions ()
注意
在Windows 10 版本 1809 (SDK 17763) 之前,具有 TransitionCollection 值的属性的 XAML 语法要求将显式 TransitionCollection 对象元素声明为值,然后将对象元素作为 TransitionCollection 的子元素提供给要使用的每个过渡动画。 在 Windows 10 版本 1809 (SDK 17763) 或更高版本中,TransitionCollection 支持隐式集合用法,因此可以省略集合对象元素。 有关隐式集合和 XAML 的详细信息,请参阅 XAML 语法指南。
过渡动画是Windows 运行时动画库中的预配置动画。 使用将 TransitionCollection 设置为目标的属性所有者,在与过渡动画关联的条件下自动运行过渡动画。 要进行动画处理的属性因所使用的切换效果而异。
VisualStateGroup.Transitions 不使用 TransitionCollection 类型。 VisualStateGroup.Transitions 使用 VisualTransition 对象的内置集合 (列表或矢量) 。
枚举 C# 或 Microsoft Visual Basic 中的集合
TransitionCollection 是可枚举的,因此可以使用特定于语言的语法(如 C# 中的 foreach )枚举集合中的项。 编译器为你执行类型强制转换,你无需显式强制转换为 IEnumerable<Transition>
。 如果需要显式强制转换(例如,如果要调用 GetEnumerator),请使用转换约束强制转换为 IEnumerable。
构造函数
TransitionCollection() |
初始化 TransitionCollection 类的新实例。 |
属性
Size |
获取集合的大小 (计数) 。 |
方法
Append(Transition) |
将新项添加到集合。 |
Clear() |
从集合中移除所有项。 |
First() |
返回迭代器,以便对集合中的项进行迭代。 |
GetAt(UInt32) |
返回位于指定索引处的项。 |
GetMany(UInt32, Transition[]) |
通过迭代器在一次传递中检索多个元素。 |
GetView() |
获取集合中的不可变视图。 |
IndexOf(Transition, UInt32) |
检索指定项的索引。 |
InsertAt(UInt32, Transition) |
在指定的索引处插入指定的项。 |
RemoveAt(UInt32) |
删除指定索引处的项。 |
RemoveAtEnd() |
删除集合中的最后一项。 |
ReplaceAll(Transition[]) |
最初清除集合,然后将提供的数组作为新项插入。 |
SetAt(UInt32, Transition) |
将指定索引处的值设置为指定的 转换 值。 |