PointerDownThemeAnimation 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 berjalan saat penunjuk ke bawah terdeteksi pada item atau elemen.
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 .../>
- Warisan
- Atribut
Contoh
Berikut ini adalah contoh templat kontrol kustom yang menggunakan animasi tema PointerDown/Up.
// 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);
}
Keterangan
Mengatur properti Durasi tidak berpengaruh pada objek ini karena durasi telah dikonfigurasi sebelumnya.
PointerDownThemeAnimation mengambil alih nilai Projection dan RenderTransform saat ini.
Windows 8.1 danProjection dan RenderTransform sebelumnya tidak terpengaruh oleh PointerDownThemeAnimation.
Konstruktor
PointerDownThemeAnimation() |
Menginisialisasi instans baru kelas PointerDownThemeAnimation . |
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) |