SplitOpenThemeAnimation Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente l’animation préconfigurée qui révèle une interface utilisateur cible à l’aide d’une animation fractionnée .
public ref class SplitOpenThemeAnimation sealed : Timeline
/// [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 SplitOpenThemeAnimation final : Timeline
[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 SplitOpenThemeAnimation : Timeline
Public NotInheritable Class SplitOpenThemeAnimation
Inherits Timeline
<SplitOpenThemeAnimation .../>
- Héritage
- Attributs
Exemples
Voici un exemple de contrôle personnalisé qui utilise des animations de thème fractionner l’ouverture et la fermeture fractionnée.
// Themes/Generic.xaml
<!-- Example template of a custom control that uses split open
and split close theme animations. -->
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:BlankApp1">
<Style TargetType="local:SplitOpenControl" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:SplitOpenControl">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="OpenStates">
<VisualState x:Name="Open">
<Storyboard>
<SplitOpenThemeAnimation
OpenedTargetName="contentBorder"
ContentTargetName="content"
ClosedTargetName="targetRect"
ContentTranslationDirection="Left"
ContentTranslationOffset="200"
OffsetFromCenter="0"
OpenedLength="200"
ClosedLength="0"/>
<DoubleAnimation
Storyboard.TargetName="targetRect"
Storyboard.TargetProperty="Opacity"
To="0"
Duration="0"/>
</Storyboard>
</VisualState>
<VisualState x:Name="Closed">
<Storyboard>
<SplitCloseThemeAnimation
OpenedTargetName="contentBorder"
ContentTargetName="content"
ClosedTargetName="targetRect"
ContentTranslationDirection="Left"
ContentTranslationOffset="-200"
OffsetFromCenter="0"
OpenedLength="200"
ClosedLength="0"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Rectangle x:Name="targetRect" Width="100" Height="100" Fill="Blue"/>
<Popup IsOpen="False" Height="50" Width="200" x:Name="contentPopup">
<Border x:Name="contentBorder" BorderBrush="Orange" BorderThickness="3">
<TextBlock x:Name="content" Text="Hello, World!" FontSize="20"/>
</Border>
</Popup>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
public sealed class SplitOpenControl : Control
{
private Popup _contentPopup;
public SplitOpenControl()
{
this.DefaultStyleKey = typeof(SplitOpenControl);
}
protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
_contentPopup = GetTemplateChild("contentPopup") as Popup;
}
protected override void OnPointerPressed(PointerRoutedEventArgs e)
{
this.CapturePointer(e.Pointer);
_contentPopup.IsOpen = true;
VisualStateManager.GoToState(this, "Open", true);
}
protected override void OnPointerReleased(PointerRoutedEventArgs e)
{
VisualStateManager.GoToState(this, "Closed", true);
this.ReleasePointerCapture(e.Pointer);
}
}
// SplitOpenControl.h:
struct SplitOpenControl : SplitOpenControlT<SplitOpenControl>
{
SplitOpenControl(){ DefaultStyleKey(winrt::box_value(L"MyApp.SplitOpenControl")); }
void OnApplyTemplate();
void OnPointerPressed(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e);
void OnPointerReleased(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e);
private:
Windows::UI::Xaml::Controls::Primitives::Popup m_contentPopup;
};
// SplitOpenControl.cpp:
void SplitOpenControl::OnApplyTemplate()
{
m_contentPopup = GetTemplateChild(L"contentPopup").as<Windows::UI::Xaml::Controls::Primitives::Popup>();
}
void SplitOpenControl::OnPointerPressed(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e)
{
CapturePointer(e.Pointer());
m_contentPopup.IsOpen(true);
Windows::UI::Xaml::VisualStateManager::GoToState(*this, L"Open", true);
}
void SplitOpenControl::OnPointerReleased(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e)
{
Windows::UI::Xaml::VisualStateManager::GoToState(*this, L"Closed", true);
ReleasePointerCapture(e.Pointer());
}
// SplitOpenControl.h:
public ref class SplitOpenControl sealed : public Windows::UI::Xaml::Controls::Control
{
public:
SplitOpenControl();
protected:
virtual void OnApplyTemplate() override;
virtual void OnPointerPressed(Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) override;
virtual void OnPointerReleased(Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) override;
private:
Windows::UI::Xaml::Controls::Primitives::Popup ^m_contentPopup;
};
// SplitOpenControl.cpp:
SplitOpenControl::SplitOpenControl()
{
DefaultStyleKey = "MyApp.SplitOpenControl";
}
void SplitOpenControl::OnApplyTemplate()
{
m_contentPopup = static_cast<Popup^>(GetTemplateChild("contentPopup"));
}
void SplitOpenControl::OnPointerPressed(PointerRoutedEventArgs^ e)
{
CapturePointer(e->Pointer);
m_contentPopup->IsOpen = true;
VisualStateManager::GoToState(this, "Open", true);
}
void SplitOpenControl::OnPointerReleased(PointerRoutedEventArgs^ e)
{
VisualStateManager::GoToState(this, "Closed", true);
ReleasePointerCapture(e->Pointer);
}
Remarques
Notez que la définition de la propriété Duration n’a aucun effet sur cet objet, car la durée est préconfigurée.
Constructeurs
SplitOpenThemeAnimation() |
Initialise une nouvelle instance de la classe SplitOpenThemeAnimation. |
Propriétés
AutoReverse |
Obtient ou définit une valeur qui indique si la chronologie est lue en sens inverse après avoir effectué une itération vers l’avant. (Hérité de Timeline) |
BeginTime |
Obtient ou définit l’heure à laquelle cette chronologie doit commencer. (Hérité de Timeline) |
ClosedLength |
Obtient ou définit la taille initiale de l’élément cible dans le sens de l’animation. |
ClosedLengthProperty |
Identifie la propriété de dépendance ClosedLength . |
ClosedTarget |
Obtient ou définit l’élément d’interface utilisateur qui spécifie la taille du clip initial. |
ClosedTargetName |
Obtient ou définit le nom d’identification de l’élément d’interface utilisateur qui spécifie la taille du clip initial. |
ClosedTargetNameProperty |
Identifie la propriété de dépendance ClosedTargetName . |
ClosedTargetProperty |
Identifie la propriété de dépendance ClosedTarget . |
ContentTarget |
Obtient ou définit l’élément d’interface utilisateur qui sera traduit. Il s’agit généralement d’un enfant/d’une partie de l’élément identifié par OpenedTargetName ou OpenedTarget. |
ContentTargetName |
Obtient ou définit le nom d’identification de l’élément d’interface utilisateur qui sera traduit. Il s’agit généralement d’un enfant/d’une partie de l’élément identifié par OpenedTargetName. |
ContentTargetNameProperty |
Identifie la propriété de dépendance ContentTargetName . |
ContentTargetProperty |
Identifie la propriété de dépendance ContentTarget . |
ContentTranslationDirection |
Obtient ou définit une valeur qui détermine la direction que le contenu doit traduire lors de l’exécution de l’animation. |
ContentTranslationDirectionProperty |
Identifie la propriété de dépendance ContentTranslationDirection . |
ContentTranslationOffset |
Obtient ou définit les pixels à traduire par lors de l’exécution de l’animation. |
ContentTranslationOffsetProperty |
Identifie la propriété de dépendance ContentTranslationOffset . |
Dispatcher |
Retourne |
DispatcherQueue |
Obtient le |
Duration |
Obtient ou définit la durée de cette chronologie, sans prendre en compte les répétitions. (Hérité de Timeline) |
FillBehavior |
Obtient ou définit une valeur qui spécifie le comportement de l’animation une fois qu’elle a atteint la fin de sa période active. (Hérité de Timeline) |
OffsetFromCenter |
Obtient ou définit un décalage à partir du centre de la cible ouverte . |
OffsetFromCenterProperty |
Identifie la propriété de dépendance OffsetFromCenter . |
OpenedLength |
Obtient ou définit la taille finale de l’élément d’interface utilisateur cible. |
OpenedLengthProperty |
Identifie la propriété de dépendance OpenedLength . |
OpenedTarget |
Obtient ou définit l’élément d’interface utilisateur qui sera clippé. |
OpenedTargetName |
Obtient ou définit le nom d’identification de l’élément d’interface utilisateur qui sera coupé. |
OpenedTargetNameProperty |
Identifie la propriété de dépendance OpenedTargetName . |
OpenedTargetProperty |
Identifie la propriété de dépendance OpenedTarget . |
RepeatBehavior |
Obtient ou définit le comportement à répétition de cette chronologie. (Hérité de Timeline) |
SpeedRatio |
Obtient ou définit la vitesse, par rapport à son parent, à laquelle progresse pour cette chronologie. (Hérité de Timeline) |
Méthodes
ClearValue(DependencyProperty) |
Efface la valeur locale d’une propriété de dépendance. (Hérité de DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Retourne toute valeur de base établie pour une propriété de dépendance, qui s’appliquerait dans les cas où une animation n’est pas active. (Hérité de DependencyObject) |
GetValue(DependencyProperty) |
Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un DependencyObject. (Hérité de DependencyObject) |
ReadLocalValue(DependencyProperty) |
Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie. (Hérité de DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Inscrit une fonction de notification pour écouter les modifications apportées à un DependencyProperty spécifique sur ce instance DependencyObject. (Hérité de DependencyObject) |
SetValue(DependencyProperty, Object) |
Définit la valeur locale d’une propriété de dépendance sur un DependencyObject. (Hérité de DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Annule une notification de modification précédemment inscrite en appelant RegisterPropertyChangedCallback. (Hérité de DependencyObject) |
Événements
Completed |
Se produit lorsque la lecture de l’objet Storyboard est terminée. (Hérité de Timeline) |