TransitionCollection Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет коллекцию объектов Transition . Каждый объект Transition представляет собой отдельный переход темы, который является частью библиотеки анимации среда выполнения Windows.
public ref class TransitionCollection sealed : IIterable<Transition ^>, IVector<Transition ^>
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 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.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class TransitionCollection final : IIterable<Transition>, IVector<Transition>
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 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>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class TransitionCollection : IEnumerable<Transition>, IList<Transition>
Public NotInheritable Class TransitionCollection
Implements IEnumerable(Of Transition), IList(Of Transition)
<TransitionCollection>
oneOrMoreTransitions
</TransitionCollection>
- Наследование
- Атрибуты
- Реализации
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Примеры
В этом примере показан синтаксис XAML для задания объектного элемента TransitionCollection в рамках установки встроенного свойства UIElement.Transitions .
<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 (в элементах управления содержимым, таких как Кнопка или AppBar)
- ContentPresenter.ContentTransitions
- ItemsControl.ItemContainerTransitions (для элементов управления, таких как GridView, ListBox, ListView и Selector)
- ItemsPresenter.FooterTransitions
- ItemsPresenter.HeaderTransitions
- ListViewBase.FooterTransitions
- ListViewBase.HeaderTransitions
- Panel.ChildrenTransitions (на Grid, StackPanel и других панелях)
- Popup.ChildTransitions
- SettingsFlyoutTemplateSettings.ContentTransitions
- UIElement.Transitions (на сотни классов)
Примечание
До Windows 10, версия 1809 (пакет SDK 17763) синтаксис XAML для свойств, имеющих значение TransitionCollection, требует объявления явного объектного элемента TransitionCollection в качестве значения, а затем предоставления объектных элементов в качестве дочерних элементов TransitionCollection для каждой анимации перехода, которую вы хотите использовать. В Windows 10, версия 1809 (пакет SDK 17763) или более поздней версии TransitionCollection поддерживает неявное использование коллекции, поэтому элемент объекта коллекции можно опустить. Дополнительные сведения о неявных коллекциях и XAML см. в руководстве по синтаксису XAML.
Анимации перехода — это предварительно настроенные анимации из библиотеки анимаций среда выполнения Windows. Анимация перехода выполняется автоматически при условиях, с которыми связана анимация перехода, с использованием владельца свойства, для которого в качестве целевого объекта задан Объект TransitionCollection. Анимированные свойства зависят от используемого перехода.
VisualStateGroup.Transitions не использует тип TransitionCollection. VisualStateGroup.Transitions использует встроенную коллекцию (список или вектор) объектов VisualTransition .
Перечисление коллекции на C# или Microsoft Visual Basic
Объект TransitionCollection можно перечислить, поэтому для перечисления элементов в коллекции можно использовать синтаксис для конкретного языка, например foreach в C#. Компилятор выполняет приведение типов автоматически, и вам не нужно явно приводить к IEnumerable<Transition>
. Если необходимо выполнить приведение явным образом, например, если вы хотите вызвать GetEnumerator, приведите к IEnumerable<T> с ограничением Transition .
Конструкторы
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) |
Задает для значения по указанному индексу указанное значение перехода . |