VisualInteractionSource 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.
Objek untuk mengonfigurasi input ke InteractionTracker relatif terhadap visual.
VisualInteractionSource dirancang untuk digunakan hanya dengan InteractionTracker dan menentukan input mana yang akan dikirim ke InteractionTracker untuk mendorong status dan propertinya. Kelas ini berisi visual yang akan digunakan untuk pengujian hit, serta berbagai properti konfigurasi yang gerakan dan jenis inputnya akan dikirim ke InteractionTracker.
public ref class VisualInteractionSource sealed : CompositionObject, ICompositionInteractionSource
public ref class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class VisualInteractionSource final : CompositionObject, ICompositionInteractionSource
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
Public NotInheritable Class VisualInteractionSource
Inherits CompositionObject
Implements ICompositionInteractionSource
Public Class VisualInteractionSource
Inherits CompositionObject
Implements ICompositionInteractionSource
- Warisan
- Atribut
- Penerapan
Persyaratan Windows
Rangkaian perangkat |
Windows 10 Anniversary Edition (diperkenalkan dalam 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v3.0)
|
Contoh
void SetupSimpleInteractionTracker(Visual viewportVisual, Visual contentVisual)
{
//
// Create the InteractionTracker and set its min/max position and scale. These could
// also be bound to expressions. Note: The scrollable area can be changed from either
// end to facilitate content updates/virtualization.
//
_tracker = InteractionTracker.Create(_compositor);
_tracker.MaxPosition = new Vector3(
contentVisual.Size.X - viewportVisual.Size.X,
contentVisual.Size.Y - viewportVisual.Size.Y,
0.0f);
_tracker.MinScale = 0.5f;
_tracker.MaxScale = 4.0f;
//
// Configure the interaction source. Enable input with inertia on all axis.
//
var interactionSource = VisualInteractionSource.Create(viewportVisual);
interactionSource.PositionXSourceMode = InteractionSourceMode.EnabledWithInertia;
interactionSource.PositionYSourceMode = InteractionSourceMode.EnabledWithInertia;
interactionSource.ScaleSourceMode = InteractionSourceMode.EnabledWithInertia;
_tracker.InteractionSources.Add(interactionSource);
//
// Bind the InteractionTracker outputs to the contentVisual.
//
var positionExpression = _compositor.CreateExpressionAnimation("-tracker.Position");
positionExpression.SetReferenceParameter("tracker", _tracker);
contentVisual.StartAnimation("Offset", positionExpression);
var scaleExpression = _compositor.CreateExpressionAnimation("Vector3(tracker.Scale, tracker.Scale, 1.0)");
scaleExpression.SetReferenceParameter("tracker", _tracker);
contentVisual.StartAnimation("Scale", scaleExpression);
}
Keterangan
VisualInteractionSource digunakan untuk menentukan properti penting tentang jenis interaksi yang harus mendorong status dan properti InteractionTracker. Properti sumber digunakan baik untuk pengujian hit, maupun ruang koordinat untuk deteksi gerakan. Akibatnya, penting untuk menggunakan Visual yang tidak akan bergerak selama manipulasi. Beberapa VisualInteractionSources dapat dikaitkan dengan InteractionTracker yang sama jika ada beberapa wilayah uji hit, tetapi kasus yang paling umum hanya memerlukan satu VisualInteractionSource untuk InteractionTracker tertentu.
VisualInteractionSource adalah kelas untuk mengonfigurasi jenis gerakan mana yang harus dipertimbangkan untuk mendorong InteractionTracker. Posisi X dan Y masing-masing dikaitkan dengan panning horizontal dan vertikal. Skala terdeteksi dengan gerakan mencubit, sering dikaitkan dengan pembesaran tampilan. Ketiga mode sumber ini semuanya dapat dikonfigurasi untuk sentuhan dan input Touchpad Presisi. Masing-masing mode sumber ini dapat diaktifkan dengan atau tanpa inertia:
Mengaktifkan inertia menunjukkan bahwa posisi atau skala secara alami akan menginterpolasi dari kecepatan rilis ke tidak ada kecepatan selama keadaan inertia.
Menonaktifkan inertia menunjukkan bahwa posisi atau kecepatan skala akan segera menuju ke 0 setelah selesainya interaksi. Ketika input yang mendorong posisi atau skala dirutekan ke InteractionTracker, properti InteractionTracker dengan nama yang sama akan diperbarui dengan tepat.
Konfigurasi rel menunjukkan bagaimana gerakan akan terdeteksi. Rel, secara default, menyala dan menunjukkan bahwa panci horizontal atau vertikal akan mengunci sumbu tertentu ketika dimulai terutama pada sumbu tersebut. Ini dijelaskan secara lebih rinci pada halaman properti rel.
Konfigurasi penautan menunjukkan apakah input yang diproses oleh satu VisualInteractionSource dapat mengalir ke entitas lain ketika InteractionTracker mencapai min atau maks ke arah tersebut. Konfigurasi ini akan memungkinkan input untuk menautkan ke InteractionTracker lain melalui VisualInteractionSource lain, atau ke ScrollViewer jika visual sumber VisualInteractionSource adalah anak dari ScrollViewer.
Riwayat versi
Versi Windows | Versi SDK | Nilai ditambahkan |
---|---|---|
1703 | 15063 | MengonfigurasiCenterPointXModifiers |
1703 | 15063 | MengonfigurasiCenterPointyModifiers |
1703 | 15063 | ConfigureDeltaPositionXModifiers |
1703 | 15063 | ConfigureDeltaPositionyModifiers |
1703 | 15063 | ConfigureDeltaScaleModifiers |
1703 | 15063 | DeltaPosition |
1703 | 15063 | DeltaScale |
1703 | 15063 | Position |
1703 | 15063 | PositionVelocity |
1703 | 15063 | Skala |
1703 | 15063 | ScaleVelocity |
1809 | 17763 | PointerWheelConfig |
1903 | 18362 | CreateFromIVisualElement |
Properti
Comment |
String yang akan dikaitkan dengan CompositionObject. (Diperoleh dari CompositionObject) |
Compositor |
Compositor digunakan untuk membuat CompositionObject ini. (Diperoleh dari CompositionObject) |
DeltaPosition |
Jumlah perubahan posisi yang akan diterapkan selama bingkai mendatang. Default ke 0. Hanya dapat dibaca melalui ekspresi/animasi. |
DeltaScale |
Jumlah perubahan skala yang akan diterapkan selama bingkai mendatang. Multiplikatif. Default ke 1. Hanya dapat dibaca melalui ekspresi/animasi. |
Dispatcher |
Dispatcher untuk CompositionObject. (Diperoleh dari CompositionObject) |
DispatcherQueue |
Mendapatkan DispatcherQueue untuk CompostionObject. (Diperoleh dari CompositionObject) |
ImplicitAnimations |
Kumpulan animasi implisit yang melekat pada objek ini. (Diperoleh dari CompositionObject) |
IsPositionXRailsEnabled |
Menunjukkan apakah panning pada sumbu x direl. Properti IsPositionXRailsEnabled menentukan konfigurasi rel ketika panning sumbu X dikirim ke InteractionTracker yang sesuai. Saat diaktifkan, jika bagian awal pancang dalam rentang tertentu relatif terhadap sumbu X, komponen Y pan diabaikan dan dianggap sebagai panja horizontal yang sempurna. Properti ini sering diaktifkan dalam situasi di mana pengalaman pengguliran X dan Y diaktifkan, tetapi juga membutuhkan panning horizontal yang andal dan sempurna. |
IsPositionYRailsEnabled |
Menunjukkan apakah panning pada sumbu y direl. Properti IsPositionYRailsEnabled menentukan konfigurasi rel ketika panning sumbu Y dikirim ke InteractionTracker yang sesuai. Saat diaktifkan, jika bagian awal pancang dalam rentang tertentu relatif terhadap sumbu Y, komponen X pan diabaikan dan dianggap sebagai pan vertikal yang sempurna. Properti ini sering diaktifkan dalam situasi di mana pengalaman pengguliran X dan Y diaktifkan, tetapi juga membutuhkan panning vertikal yang andal dan sempurna. |
ManipulationRedirectionMode |
Menunjukkan input apa yang harus dialihkan ke InteractionTracker. |
PointerWheelConfig |
Mendapatkan konfigurasi untuk input roda penunjuk. |
Position |
Jumlah total perubahan posisi sejak awal interaksi. Default ke 0. Hanya dapat dibaca melalui ekspresi/animasi. |
PositionVelocity |
Tingkat perubahan posisi seketika dalam interaksi, dalam piksel per detik. Default ke 0. Hanya dapat dibaca melalui ekspresi/animasi. |
PositionXChainingMode |
Properti PositionXChainingMode menentukan perilaku penautan untuk InteractionSource ke arah X. Ada tiga jenis InteractionChainingMode s: Auto , Always , Never . Saat penautan ke arah X diaktifkan, input akan mengalir ke VisualInteractionSource leluhur terdekat setiap kali interaksi (seperti panning) akan mengambil posisi InteractionTracker melewati posisi X minimum atau maksimumnya. |
PositionXSourceMode |
Mode sumber untuk sumbu X. Properti PositionXSourceMode menentukan bagaimana interaksi diproses untuk VisualInteractionSource pada sumbu X. Ada 3 jenis InteractionSourceModeyang dapat dipilih: Interaksi Dinonaktifkan, EnabledWithInertia, dan EnabledWithoutInertia. Properti ini harus diaktifkan untuk memungkinkan VisualInteractionSource mengirim data sumbu X ke InteractionTracker. |
PositionYChainingMode |
Properti PositionYChainingMode menentukan perilaku penautan untuk InteractionSource ke arah Y. Ada tiga jenis InteractionChainingMode s: Auto , Always , Never . Saat penautan ke arah Y diaktifkan, input akan mengalir ke VisualInteractionSource leluhur terdekat setiap kali interaksi (seperti panning) akan mengambil posisi InteractionTracker melewati posisi minimum atau maksimum Y. |
PositionYSourceMode |
Mode sumber untuk sumbu Y. Properti PositionYSourceMode menentukan bagaimana interaksi diproses untuk VisualInteractionSource pada sumbu Y. Ada 3 jenis InteractionSourceModeyang dapat dipilih: Interaksi Dinonaktifkan, EnabledWithInertia, dan EnabledWithoutInertia. Properti ini harus diaktifkan untuk memungkinkan VisualInteractionSource mengirim data sumbu Y ke InteractionTracker. |
Properties |
Kumpulan properti yang terkait dengan CompositionObject. (Diperoleh dari CompositionObject) |
Scale |
Total persentase-perbedaan dalam skala sejak awal interaksi. Multiplikatif. Default ke 1. Hanya dapat dibaca melalui ekspresi/animasi. |
ScaleChainingMode |
Properti ScaleChainingMode menentukan perilaku penautan untuk InteractionSource ke arah Skala. Ada tiga jenis InteractionChainingMode : Auto, Always, Never. Ketika penautan Skala diaktifkan, input akan mengalir ke VisualInteractionSource leluhur terdekat setiap kali interaksi (seperti panning) akan mengambil posisi InteractionTracker melewati posisi Skala minimum atau maksimumnya. |
ScaleSourceMode |
Menentukan bagaimana interaksi diproses untuk VisualInteractionSource pada sumbu skala. Ada 3 jenis InteractionSourceModeyang dapat dipilih: Interaksi dinonaktifkan , EnabledWithInertia dan EnabledWithoutInertia . Properti ini harus diaktifkan untuk memungkinkan VisualInteractionSource mengirim data skala ke InteractionTracker. |
ScaleVelocity |
Tingkat perubahan skala seketika dalam interaksi, dalam persen per detik. Aditif. Default ke 0. Hanya dapat dibaca melalui ekspresi/animasi. |
Source |
Visual yang digunakan untuk pengujian hit dan mendefinisikan ruang koordinat untuk pengenalan gerakan. |
Metode
Close() |
Menutup CompositionObject dan merilis sumber daya sistem. (Diperoleh dari CompositionObject) |
ConfigureCenterPointXModifiers(IIterable<CompositionConditionalValue>) |
Mengambil daftar yang diurutkan dari CompositionConditionalValue. Dalam bingkai, KomposisiConditionalValue pertama yang memiliki ". Kondisi" mengevaluasi ke true menggantikan nilai Zoom CenterPointX yang disediakan VisualInteractionSource dengan ". Nilai". Jika tidak ada yang mengevaluasi ke true, CenterPointX tidak diganti bingkai tersebut. |
ConfigureCenterPointYModifiers(IIterable<CompositionConditionalValue>) |
Mengambil daftar yang diurutkan dari CompositionConditionalValue. Dalam bingkai, KomposisiConditionalValue pertama yang memiliki ". Kondisi" mengevaluasi ke true menggantikan nilai Zoom CenterPointY yang disediakan VisualInteractionSource dengan ". Nilai". Jika tidak ada yang mengevaluasi ke true, CenterPointY tidak diganti bingkai tersebut. |
ConfigureDeltaPositionXModifiers(IIterable<CompositionConditionalValue>) |
Mengambil daftar yang diurutkan dari CompositionConditionalValue. Dalam bingkai, KomposisiConditionalValue pertama yang memiliki ". Kondisi" mengevaluasi ke true menggantikan nilai DeltaPositionX yang disediakan VisualInteractionSource dengan ". Nilai". Jika tidak ada yang mengevaluasi ke true, DeltaPositionX tidak digantikan bingkai tersebut. |
ConfigureDeltaPositionYModifiers(IIterable<CompositionConditionalValue>) |
Mengambil daftar yang diurutkan dari CompositionConditionalValue. Dalam bingkai, KomposisiConditionalValue pertama yang memiliki ". Kondisi" mengevaluasi ke true menggantikan nilai DeltaPositionY yang disediakan VisualInteractionSource dengan ". Nilai". Jika tidak ada yang dievaluasi ke true, DeltaPositionY tidak digantikan bingkai tersebut. |
ConfigureDeltaScaleModifiers(IIterable<CompositionConditionalValue>) |
Mengambil daftar yang diurutkan dari CompositionConditionalValue. Dalam bingkai, KomposisiConditionalValue pertama yang memiliki ". Kondisi" mengevaluasi ke true menggantikan nilai DeltaScale yang disediakan VisualInteractionSource dengan ". Nilai". Jika tidak ada yang mengevaluasi ke true, DeltaScale tidak digantikan bingkai tersebut. |
ConnectAnimation(String, CompositionAnimation) |
Menyambungkan dan animasi. (Diperoleh dari CompositionObject) |
Create(Visual) |
Membuat instans VisualInteractionSource. |
CreateFromIVisualElement(IVisualElement) |
Membuat instans VisualInteractionSource dari elemen yang mengimplementasikan IVisualElement. |
DisconnectAnimation(String) |
Memutuskan sambungan animasi. (Diperoleh dari CompositionObject) |
Dispose() |
Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, melepaskan, atau mereset sumber daya yang tidak terkelola. (Diperoleh dari CompositionObject) |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Menentukan properti yang dapat dianimasikan. (Diperoleh dari CompositionObject) |
StartAnimation(String, CompositionAnimation, AnimationController) |
Menyambungkan animasi dengan properti objek yang ditentukan dan memulai animasi. (Diperoleh dari CompositionObject) |
StartAnimation(String, CompositionAnimation) |
Menyambungkan animasi dengan properti objek yang ditentukan dan memulai animasi. (Diperoleh dari CompositionObject) |
StartAnimationGroup(ICompositionAnimationBase) |
Memulai grup animasi. Metode StartAnimationGroup pada CompositionObject memungkinkan Anda memulai KomposisiAnimationGroup. Semua animasi dalam grup akan dimulai pada saat yang sama pada objek. (Diperoleh dari CompositionObject) |
StopAnimation(String) |
Memutuskan sambungan animasi dari properti yang ditentukan dan menghentikan animasi. (Diperoleh dari CompositionObject) |
StopAnimationGroup(ICompositionAnimationBase) |
Menghentikan grup animasi. (Diperoleh dari CompositionObject) |
TryGetAnimationController(String) |
Mengembalikan AnimationController untuk animasi yang berjalan pada properti yang ditentukan. (Diperoleh dari CompositionObject) |
TryRedirectForManipulation(PointerPoint) |
Menunjukkan bahwa manipulasi yang dikonfigurasi untuk aliran pointer yang diberikan harus dikirim ke InteractionTracker, bukan utas UI aplikasi, dimulai dari PointerPoint yang diberikan. TryRedirectForManipulation memungkinkan VisualInteractionSource untuk mengalihkan aliran Pointer ke InteractionTracker jika gerakan cocok dengan konfigurasi pada VisualInteractionSource. Metode ini hanya boleh dipanggil dengan input Pointer dari DeviceType Touch. |