DragItemThemeAnimation Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет анимацию с заданными настройками, которая применяется для перемещаемых элементов.
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 .../>
- Наследование
- Атрибуты
Примеры
Ниже приведен пример пользовательского элемента управления с поддержкой перетаскивания.
// 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
}
Комментарии
Обратите внимание, что установка свойства Duration не влияет на этот объект, так как длительность предварительно настроена.
Конструкторы
DragItemThemeAnimation() |
Инициализирует новый экземпляр класса DragItemThemeAnimation . |
Свойства
AutoReverse |
Получает или задает значение, указывающее, воспроизводится ли временная шкала в обратном направлении после завершения прямой итерации. (Унаследовано от Timeline) |
BeginTime |
Возвращает или задает время начала этой временной шкалы . (Унаследовано от Timeline) |
Dispatcher |
Всегда возвращается |
DispatcherQueue |
Возвращает объект , |
Duration |
Получает или задает продолжительность воспроизведения шкалы времени без учета повторов. (Унаследовано от Timeline) |
FillBehavior |
Возвращает или задает значение, указывающее поведение анимации после достижения конца активного периода. (Унаследовано от Timeline) |
RepeatBehavior |
Получает или задает поведение этой временной шкалы при повторе. (Унаследовано от Timeline) |
SpeedRatio |
Возвращает или задает скорость относительно родительского элемента, в течение которого выполняется выполнение этой временной шкалы. (Унаследовано от Timeline) |
TargetName |
Возвращает или задает имя ссылки на целевой элемент управления. |
TargetNameProperty |
Определяет свойство зависимости TargetName . |
Методы
ClearValue(DependencyProperty) |
Очищает локальное значение свойства зависимостей. (Унаследовано от DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Возвращает любое базовое значение, установленное для свойства зависимостей, которое применяется в случаях, когда анимация не активна. (Унаследовано от DependencyObject) |
GetValue(DependencyProperty) |
Возвращает текущее действующее значение свойства зависимостей из DependencyObject. (Унаследовано от DependencyObject) |
ReadLocalValue(DependencyProperty) |
Возвращает локальное значение свойства зависимостей, если задано локальное значение. (Унаследовано от DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Регистрирует функцию уведомления для прослушивания изменений определенной DependencyProperty в этом экземпляре DependencyObject . (Унаследовано от DependencyObject) |
SetValue(DependencyProperty, Object) |
Задает локальное значение свойства зависимостей для Объекта DependencyObject. (Унаследовано от DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова метода RegisterPropertyChangedCallback. (Унаследовано от DependencyObject) |
События
Completed |
Происходит после завершения воспроизведения объекта Storyboard . (Унаследовано от Timeline) |