DragItemThemeAnimation 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 the preconfigured animation that applies to item elements being dragged.
public ref class DragItemThemeAnimation 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 DragItemThemeAnimation 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 DragItemThemeAnimation : Timeline
Public NotInheritable Class DragItemThemeAnimation
Inherits Timeline
<DragItemThemeAnimation .../>
- Inheritance
- Attributes
Examples
The following is an example of a drag-enabled custom control.
// Themes/Generic.xaml
<!-- Example template of a drag-enabled custom control. The
DragItemThemeAnimation will be run when the control
is in the Dragging state, and reverted when it isn't.
-->
<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:DraggableControl" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:DraggableControl">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="DragStates">
<VisualState x:Name="NotDragging"/>
<VisualState x:Name="Dragging">
<Storyboard>
<DragItemThemeAnimation 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 DraggableControl : Control
{
public DraggableControl()
{
this.DefaultStyleKey = typeof(DraggableControl);
}
protected override void OnPointerPressed(PointerRoutedEventArgs e)
{
// Go to the Dragging state, which will start the DragItemThemeAnimation.
VisualStateManager.GoToState(this, "Dragging", true);
}
protected override void OnPointerReleased(PointerRoutedEventArgs e)
{
VisualStateManager.GoToState(this, "NotDragging", true);
}
protected override void OnPointerMoved(PointerRoutedEventArgs e)
{
// dragging implementation here.
}
}
// DraggableControl.h
struct DraggableControl : DraggableControlT<DraggableControl>
{
DraggableControl(){ DefaultStyleKey(winrt::box_value(L"MyApp.DraggableControl")); }
void OnPointerPressed(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e);
void OnPointerReleased(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e);
void OnPointerMoved(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e);
};
// DraggableControl.cpp
void DraggableControl::OnPointerPressed(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e)
{
// Go to the Dragging state, which will start the DragItemThemeAnimation.
Windows::UI::Xaml::VisualStateManager::GoToState(*this, L"Dragging", true);
}
void DraggableControl::OnPointerReleased(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e)
{
Windows::UI::Xaml::VisualStateManager::GoToState(*this, L"NotDragging", true);
}
void DraggableControl::OnPointerMoved(Windows::UI::Xaml::Input::PointerRoutedEventArgs const& e)
{
// dragging implementation here.
}
// DraggableControl.h:
public ref class DraggableControl sealed : public Windows::UI::Xaml::Controls::Control
{
public:
DraggableControl();
protected:
virtual void OnPointerPressed(Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) override;
virtual void OnPointerReleased(Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e) override;
virtual void OnPointerMoved(Windows::UI::Xaml::Input:: PointerRoutedEventArgs^ e) override;
};
// DraggableControl.cpp:
DraggableControl::DraggableControl()
{
DefaultStyleKey = "MyApp.DraggableControl";
}
void DraggableControl::OnPointerPressed(PointerRoutedEventArgs^ e)
{
// Go to the Dragging state, which will start the DragItemThemeAnimation
VisualStateManager::GoToState(this, "Dragging", true);
}
void DraggableControl::OnPointerReleased(PointerRoutedEventArgs^ e)
{
VisualStateManager::GoToState(this, "NotDragging", true);
}
void DraggableControl::OnPointerMoved(PointerRoutedEventArgs^ e)
{
// dragging implementation here
}
Remarks
Note that setting the Duration property has no effect on this object since the duration is preconfigured.
Constructors
DragItemThemeAnimation() |
Initializes a new instance of the DragItemThemeAnimation 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) |