DragItemThemeAnimation Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili animasi yang telah dikonfigurasi sebelumnya yang berlaku untuk elemen item yang sedang diseret.
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 .../>
- Warisan
- Atribut
Contoh
Berikut ini adalah contoh kontrol kustom yang diaktifkan seret.
// 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
}
Keterangan
Perhatikan bahwa pengaturan properti Durasi tidak berpengaruh pada objek ini karena durasi telah dikonfigurasi sebelumnya.
Konstruktor
DragItemThemeAnimation() |
Menginisialisasi instans baru kelas DragItemThemeAnimation . |
Properti
AutoReverse |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah garis waktu diputar secara terbalik setelah menyelesaikan perulangan ke depan. (Diperoleh dari Timeline) |
BeginTime |
Mendapatkan atau mengatur waktu di mana Garis Waktu ini harus dimulai. (Diperoleh dari Timeline) |
Dispatcher |
Selalu kembali |
DispatcherQueue |
|
Duration |
Mendapatkan atau mengatur lamanya waktu pemutaran garis waktu ini, bukan menghitung pengulangan. (Diperoleh dari Timeline) |
FillBehavior |
Mendapatkan atau menetapkan nilai yang menentukan bagaimana animasi berperilaku setelah mencapai akhir periode aktifnya. (Diperoleh dari Timeline) |
RepeatBehavior |
Mendapatkan atau mengatur perilaku berulang dari garis waktu ini. (Diperoleh dari Timeline) |
SpeedRatio |
Mendapatkan atau menetapkan laju, relatif terhadap induknya, pada saat itu berlangsung untuk Garis Waktu ini. (Diperoleh dari Timeline) |
TargetName |
Mendapatkan atau mengatur nama referensi elemen kontrol yang ditargetkan. |
TargetNameProperty |
Mengidentifikasi properti dependensi TargetName . |
Metode
ClearValue(DependencyProperty) |
Menghapus nilai lokal properti dependensi. (Diperoleh dari DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Mengembalikan nilai dasar apa pun yang ditetapkan untuk properti dependensi, yang akan berlaku dalam kasus di mana animasi tidak aktif. (Diperoleh dari DependencyObject) |
GetValue(DependencyProperty) |
Mengembalikan nilai efektif properti dependensi saat ini dari DependencyObject. (Diperoleh dari DependencyObject) |
ReadLocalValue(DependencyProperty) |
Mengembalikan nilai lokal properti dependensi, jika nilai lokal ditetapkan. (Diperoleh dari DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Mendaftarkan fungsi pemberitahuan untuk mendengarkan perubahan pada DependencyProperty tertentu pada instans DependencyObject ini. (Diperoleh dari DependencyObject) |
SetValue(DependencyProperty, Object) |
Mengatur nilai lokal properti dependensi pada DependencyObject. (Diperoleh dari DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Membatalkan pemberitahuan perubahan yang sebelumnya terdaftar dengan memanggil RegisterPropertyChangedCallback. (Diperoleh dari DependencyObject) |
Acara
Completed |
Terjadi ketika objek Storyboard telah selesai diputar. (Diperoleh dari Timeline) |