SplitOpenThemeAnimation Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die vorkonfigurierte Animation dar, die eine Zielbenutzeroberfläche mithilfe einer geteilten Animation angibt.
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 .../>
- Vererbung
- Attribute
Beispiele
Im Folgenden ist ein Beispiel für ein benutzerdefiniertes Steuerelement aufgeführt, das Animationen für geteiltes Öffnen und Schließen verwendet.
// 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);
}
Hinweise
Beachten Sie, dass das Festlegen der Duration-Eigenschaft keine Auswirkungen auf dieses Objekt hat, da die Dauer vorkonfiguriert ist.
Konstruktoren
SplitOpenThemeAnimation() |
Initialisiert eine neue instance der SplitOpenThemeAnimation-Klasse. |
Eigenschaften
AutoReverse |
Ruft einen Wert ab, der angibt, ob die Zeitachse nach einem vollständigen Durchgang vorwärts in umgekehrter Reihenfolge abspielt. (Geerbt von Timeline) |
BeginTime |
Ruft den Zeitpunkt ab, zu dem diese Zeitachse beginnen soll, oder legt diese fest. (Geerbt von Timeline) |
ClosedLength |
Ruft die Anfangsgröße des Zielelements in Der Animationsrichtung ab oder legt diese fest. |
ClosedLengthProperty |
Gibt die ClosedLength-Abhängigkeitseigenschaft an. |
ClosedTarget |
Ruft das UI-Element ab, das die anfängliche Clipgröße angibt, oder legt es fest. |
ClosedTargetName |
Ruft den identifizierenden Namen des UI-Elements ab, das die anfängliche Clipgröße angibt, oder legt diesen fest. |
ClosedTargetNameProperty |
Gibt die Abhängigkeitseigenschaft ClosedTargetName an. |
ClosedTargetProperty |
Gibt die ClosedTarget-Abhängigkeitseigenschaft an. |
ContentTarget |
Ruft das UI-Element ab, das übersetzt wird, oder legt es fest. In der Regel handelt es sich hierbei um ein untergeordnetes Element bzw. Teil des Elements, das durch "OpenedTargetName " oder "OpenedTarget" identifiziert wird. |
ContentTargetName |
Ruft den identifizierenden Namen des UI-Elements ab, das übersetzt wird, oder legt diesen fest. In der Regel handelt es sich hierbei um ein untergeordnetes Element bzw. Teil des Durch ÖffnenTargetName identifizierten Elements. |
ContentTargetNameProperty |
Gibt die Abhängigkeitseigenschaft ContentTargetName an. |
ContentTargetProperty |
Gibt die ContentTarget-Abhängigkeitseigenschaft an. |
ContentTranslationDirection |
Ruft einen Wert ab, der bestimmt, in welche Richtung der Inhalt übersetzt werden soll, wenn die Animation ausgeführt wird, oder legt diesen fest. |
ContentTranslationDirectionProperty |
Gibt die Abhängigkeitseigenschaft ContentTranslationDirection an. |
ContentTranslationOffset |
Ruft die Zu übersetzenden Pixel ab, wenn die Animation ausgeführt wird, oder legt diese fest. |
ContentTranslationOffsetProperty |
Gibt die Abhängigkeitseigenschaft ContentTranslationOffset an. |
Dispatcher |
Gibt immer in einer Windows App SDK-App zurück |
DispatcherQueue |
Ruft den |
Duration |
Ruft die Zeitdauer ab, für die diese Zeitachse wiedergegeben wird, ohne Wiederholungen, oder legt diese fest. (Geerbt von Timeline) |
FillBehavior |
Ruft einen Wert ab, der angibt, wie sich die Animation verhält, nachdem sie das Ende ihres aktiven Zeitraums erreicht hat, oder legt diesen fest. (Geerbt von Timeline) |
OffsetFromCenter |
Ruft einen Offset aus der Mitte des geöffneten Ziels ab oder legt diese fest. |
OffsetFromCenterProperty |
Gibt die OffsetFromCenter-Abhängigkeitseigenschaft an. |
OpenedLength |
Ruft die endgültige Größe des Ziel-UI-Elements ab oder legt diese fest. |
OpenedLengthProperty |
Gibt die Abhängigkeitseigenschaft "OpenedLength " an. |
OpenedTarget |
Ruft das UI-Element ab, das abgeschnitten wird, oder legt es fest. |
OpenedTargetName |
Ruft den identifizierenden Namen des UI-Elements ab, das abgeschnitten wird, oder legt diesen fest. |
OpenedTargetNameProperty |
Gibt die Abhängigkeitseigenschaft "OpenedTargetName " an. |
OpenedTargetProperty |
Gibt die Abhängigkeitseigenschaft "OpenedTarget " an. |
RepeatBehavior |
Ruft das Wiederholungsverhalten dieser Zeitachse ab oder legt es fest. (Geerbt von Timeline) |
SpeedRatio |
Ruft die Rate im Verhältnis zu ihrem übergeordneten Element ab, zu dem die Zeit für diese Zeitachse voranschreitet, oder legt diese fest. (Geerbt von Timeline) |
Methoden
ClearValue(DependencyProperty) |
Löscht den lokalen Wert einer Abhängigkeitseigenschaft. (Geerbt von DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Gibt einen beliebigen Basiswert zurück, der für eine Abhängigkeitseigenschaft festgelegt wurde, was in Fällen gilt, in denen eine Animation nicht aktiv ist. (Geerbt von DependencyObject) |
GetValue(DependencyProperty) |
Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft aus einem DependencyObject zurück. (Geerbt von DependencyObject) |
ReadLocalValue(DependencyProperty) |
Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn ein lokaler Wert festgelegt ist. (Geerbt von DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registriert eine Benachrichtigungsfunktion zum Lauschen auf Änderungen an einer bestimmten DependencyProperty für dieses DependencyObject-instance. (Geerbt von DependencyObject) |
SetValue(DependencyProperty, Object) |
Legt den lokalen Wert einer Abhängigkeitseigenschaft für ein DependencyObject fest. (Geerbt von DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Bricht eine Änderungsbenachrichtigung ab, die zuvor registriert wurde, indem RegisterPropertyChangedCallback aufgerufen wurde. (Geerbt von DependencyObject) |
Ereignisse
Completed |
Tritt auf, wenn die Wiedergabe des Storyboard-Objekts abgeschlossen ist. (Geerbt von Timeline) |