ConnectedAnimationService Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет службу, которая предоставляет свойства и методы для отображения ConnectedAnimation.
public ref class ConnectedAnimationService sealed
/// [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 ConnectedAnimationService final
[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 ConnectedAnimationService
Public NotInheritable Class ConnectedAnimationService
- Наследование
- Атрибуты
Примеры
Tip
Дополнительные сведения, рекомендации по проектированию и примеры кода см. в разделе "Подключенная анимация".
Приложение Галерея WinUI 3 включает интерактивные примеры большинства элементов управления, особенностей и возможностей WinUI 3. Получите приложение из Microsoft Store или получите исходный код в GitHub.
В этом примере показано, как анимировать изображение между двумя страницами во время навигации.
SourcePage.xaml/SourcePage.xaml.cs
<Image x:Name="SourceImage"
Width="200"
Height="200"
Stretch="Fill"
Source="Assets/StoreLogo.png" />
private void NavigateToDestinationPage()
{
ConnectedAnimationService.GetForCurrentView().PrepareToAnimate("image", SourceImage);
Frame.Navigate(typeof(DestinationPage));
}
DestinationPage.xaml/DestinationPage.xaml.cs
<Image x:Name="DestinationImage"
Width="400"
Height="400"
Stretch="Fill"
Source="Assets/StoreLogo.png" />
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
ConnectedAnimation imageAnimation =
ConnectedAnimationService.GetForCurrentView().GetAnimation("image");
if (imageAnimation != null)
{
imageAnimation.TryStart(DestinationImage);
}
}
Комментарии
Чтобы получить экземпляр ConnectedAnimationService, вызовите статический метод GetForCurrentView .
При вызове PrepareToAnimate вы предоставляете ключ для связывания с только что созданной функцией ConnectedAnimation , возвращаемой методом. Позже этот ключ можно использовать для получения той же анимации, вызвав Метод GetAnimation. Это позволяет подключать анимацию между двумя разными страницами, не передавая ссылку на объект ConnectedAnimation между страницами вручную.
Полный пример подключенной анимации ConnectedAnimationService см. в примере подключенной анимации .
Свойства
| Имя | Описание |
|---|---|
| DefaultDuration |
Возвращает или задает время выполнения анимации по умолчанию. |
| DefaultEasingFunction |
Возвращает или задает значение по умолчанию CompositionEasingFunction , используемое анимацией. |
Методы
| Имя | Описание |
|---|---|
| GetAnimation(String) |
Возвращает анимацию с указанным ключом. |
| GetForCurrentView() |
Возвращает экземпляр ConnectedAnimationService для текущего представления. |
| PrepareToAnimate(String, UIElement) |
Возвращает подключенную анимацию, связанную с указанным ключом и исходным элементом. |