PointerDownThemeAnimation Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a preconfigured animation that runs when a pointer down is detected on an item or element.
public ref class PointerDownThemeAnimation 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 PointerDownThemeAnimation 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 PointerDownThemeAnimation : Timeline
Public NotInheritable Class PointerDownThemeAnimation
Inherits Timeline
<PointerDownThemeAnimation .../>
- Inheritance
- Attributes
Examples
The following is an example of a template of a custom control that uses PointerDown/Up theme animations.
// Themes/Generic.xaml
<!-- Example template of a custom control that uses PointerDown/Up theme
animations. The PointerDownThemeAnimation will be run when the control
is in the PointerDown state.-->
<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:TapControl" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:TapControl">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="TapStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="PointerDown">
<Storyboard>
<PointerDownThemeAnimation TargetName="contentRectangle"/>
</Storyboard>
</VisualState>
<VisualState x:Name="PointerUp">
<Storyboard>
<PointerUpThemeAnimation TargetName="contentRectangle"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Rectangle x:Name="contentRectangle" Width="100" Height="100" Fill="{TemplateBinding Background}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
public sealed class TapControl : Control
{
public TapControl()
{
this.DefaultStyleKey = typeof(TapControl);
}
protected override void OnPointerPressed(PointerRoutedEventArgs e)
{
this.CapturePointer(e.Pointer);
VisualStateManager.GoToState(this, "PointerDown", true);
}
protected override void OnPointerReleased(PointerRoutedEventArgs e)
{
VisualStateManager.GoToState(this, "PointerUp", true);
this.ReleasePointerCapture(e.Pointer);
}
}
// TapControl.h
struct TapControl : TapControlT<TapControl>
{
TapControl(){ DefaultStyleKey(winrt::box_value(L"MyApp.TapControl")); }
void OnPointerPressed(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e);
void OnPointerReleased(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e);
};
// TapControl.cpp
void TapControl::OnPointerPressed(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e)
{
CapturePointer(e.Pointer());
// Go to the PointerDown state, which will start the PointerDownThemeAnimation.
Windows::UI::Xaml::VisualStateManager::GoToState(*this, L"PointerDown", true);
}
void TapControl::OnPointerReleased(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e)
{
Windows::UI::Xaml::VisualStateManager::GoToState(*this, L"PointerUp", true);
ReleasePointerCapture(e.Pointer());
}
// TapControl.h:
public ref class TapControl sealed : public Windows::UI::Xaml::Controls::Control
{
public:
TapControl();
protected:
virtual void OnPointerPressed(Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) override;
virtual void OnPointerReleased(Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) override;
};
// TapControl.cpp:
TapControl::TapControl()
{
DefaultStyleKey = "MyApp.TapControl";
}
void SplitOpenControl::OnPointerPressed(PointerRoutedEventArgs^ e)
{
CapturePointer(e->Pointer);
VisualStateManager::GoToState(this, "PointerDown", true);
}
void SplitOpenControl::OnPointerReleased(PointerRoutedEventArgs^ e)
{
VisualStateManager::GoToState(this, "PointerUp", true);
ReleasePointerCapture(e->Pointer);
}
Remarks
Setting the Duration property has no effect on this object as the duration is preconfigured.
PointerDownThemeAnimation overrides the current values of Projection and RenderTransform.
Windows 8.1 and prior Projection and RenderTransform are not affected by PointerDownThemeAnimation.
Constructors
PointerDownThemeAnimation() |
Initializes a new instance of the PointerDownThemeAnimation class. |
Properties
AutoReverse |
Gets or sets a value that indicates whether the timeline plays in reverse after it completes a forward iteration. (Inherited from Timeline) |
BeginTime |
Gets or sets the time at which this Timeline should begin. (Inherited from Timeline) |
Dispatcher |
Always returns |
DispatcherQueue |
Gets the |
Duration |
Gets or sets the length of time for which this timeline plays, not counting repetitions. (Inherited from Timeline) |
FillBehavior |
Gets or sets a value that specifies how the animation behaves after it reaches the end of its active period. (Inherited from Timeline) |
RepeatBehavior |
Gets or sets the repeating behavior of this timeline. (Inherited from Timeline) |
SpeedRatio |
Gets or sets the rate, relative to its parent, at which time progresses for this Timeline. (Inherited from Timeline) |
TargetName |
Gets or sets the reference name of the control element being targeted. |
TargetNameProperty |
Identifies the TargetName dependency property. |
Methods
ClearValue(DependencyProperty) |
Clears the local value of a dependency property. (Inherited from DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Returns any base value established for a dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject) |
GetValue(DependencyProperty) |
Returns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject) |
ReadLocalValue(DependencyProperty) |
Returns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registers a notification function for listening to changes to a specific DependencyProperty on this DependencyObject instance. (Inherited from DependencyObject) |
SetValue(DependencyProperty, Object) |
Sets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Cancels a change notification that was previously registered by calling RegisterPropertyChangedCallback. (Inherited from DependencyObject) |
Events
Completed |
Occurs when the Storyboard object has completed playing. (Inherited from Timeline) |