Bahasa

VisualInteractionSource Kelas

Definisi

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.

[WebHostHidden]
public ref class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.LiftedContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[WebHostHidden]
class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
[WebHostHidden]
class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
public class VisualInteractionSource : CompositionObject, ICompositionInteractionSource
Public Class VisualInteractionSource
Inherits CompositionObject
Implements ICompositionInteractionSource
Warisan
Object Platform::Object IInspectable CompositionObject VisualInteractionSource
Atribut
Penerapan

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 untuk pengujian hit, serta 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 input Touchpad sentuhan dan 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 ke 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 turunan dari ScrollViewer.

Properti

Nama Deskripsi
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. Disetel ke 0. Hanya dapat dibaca melalui ekspresi/animasi.

DeltaScale

Jumlah perubahan skala yang akan diterapkan selama bingkai mendatang. Multiplikatif. Secara default ke 1. Hanya dapat dibaca melalui ekspresi/animasi.

DispatcherQueue

Mendapatkan DispatcherQueue untuk CompositionObject.

(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 railing saat panning sumbu X dikirim ke InteractionTracker yang sesuai. Ketika diaktifkan, jika bagian awal wajik disandingkan dalam rentang tertentu relatif terhadap sumbu X, komponen Y pan diabaikan dan dianggap sebagai wajik horizontal yang sempurna. Properti ini sering diaktifkan dalam situasi di mana pengalaman gulir 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 railing saat panning sumbu Y dikirim ke InteractionTracker yang sesuai. Ketika diaktifkan, jika bagian awal wajik dipicu 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 gulir 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. Disetel ke 0. Hanya dapat dibaca melalui ekspresi/animasi.

PositionVelocity

Tingkat perubahan posisi seketika dalam interaksi, dalam piksel per detik. Disetel ke 0. Hanya dapat dibaca melalui ekspresi/animasi.

PositionXChainingMode

Properti PositionXChainingMode mendefinisikan perilaku penautan untuk InteractionSource ke arah X. Ada tiga jenis InteractionChainingMode :

  • Auto
  • Selalu
  • Tidak Pernah

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 tiga jenis InteractionSourceMode untuk dipilih:

  • Interaksi Dinonaktifkan
  • EnabledWithInertia
  • EnabledWithoutInertia

Properti ini harus diaktifkan untuk memungkinkan VisualInteractionSource mengirim data sumbu X ke InteractionTracker.

PositionYChainingMode

Properti PositionYChainingMode mendefinisikan perilaku penautan untuk InteractionSource ke arah Y. Ada tiga jenis InteractionChainingMode : 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 tiga jenis InteractionSourceMode untuk dipilih:

  • Interaksi Dinonaktifkan
  • EnabledWithInertia
  • 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. Secara default ke 1. Hanya dapat dibaca melalui ekspresi/animasi.

ScaleChainingMode

Properti ScaleChainingMode mendefinisikan perilaku penautan untuk InteractionSource ke arah Skala. Ada tiga jenis InteractionChainingMode : Auto, Always, Never. Ketika penautan Skala diaktifkan, input akan mengalir ke VisualInteractionSource nenek moyang terdekat setiap kali interaksi (seperti panning) akan mengambil posisi InteractionTracker melewati posisi Skala minimum atau maksimum.

ScaleSourceMode

Menentukan bagaimana interaksi diproses untuk VisualInteractionSource pada sumbu skala. Ada tiga jenis InteractionSourceMode untuk dipilih:

  • Nonaktif
  • EnabledWithInertia
  • 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. Disetel ke 0. Hanya dapat dibaca melalui ekspresi/animasi.

Source

Visual yang digunakan untuk pengujian hit dan mendefinisikan ruang koordinat untuk pengenalan gerakan.

Metode

Nama Deskripsi
Close()

Menutup CompositionObject dan merilis sumber daya sistem.

(Diperoleh dari CompositionObject)
ConfigureCenterPointXModifiers(IIterable<CompositionConditionalValue>)

Mengambil daftar objek CompositionConditionalValue yang diurutkan . Dalam bingkai, properti Kondisi pertama CompositionConditionalValue yang mengembalikan true menggantikan nilai Komposisi.Visual.CenterPoint X dengan nilai yang disediakan oleh properti CompositionConditionalValue.Value. Jika tidak ada yang dievaluasi ke true, nilai X tidak diganti untuk bingkai tersebut Composition.Visual.CenterPoint .

ConfigureCenterPointYModifiers(IIterable<CompositionConditionalValue>)

Mengambil daftar yang diurutkan dari CompositionConditionalValue. Dalam bingkai, CompositionConditionalValue pertama yang memiliki ". Kondisi" mengevaluasi ke true menggantikan nilai CenterPointY zoom yang disediakan VisualInteractionSource dengan ". Nilai". Jika tidak ada yang dievaluasi ke true, CenterPointY tidak diganti bingkai tersebut.

ConfigureDeltaPositionXModifiers(IIterable<CompositionConditionalValue>)

Mengambil daftar objek CompositionConditionalValue yang diurutkan . Dalam bingkai, properti Kondisi pertama CompositionConditionalValue yang mengembalikan true menggantikan nilai DeltaPosition dengan nilai yang disediakan oleh properti CompositionConditionalValue.Value. Jika tidak ada yang dievaluasi ke true, nilai tidak diganti untuk bingkai tersebut DeltaPosition .

ConfigureDeltaPositionYModifiers(IIterable<CompositionConditionalValue>)

Mengambil daftar objek CompositionConditionalValue yang diurutkan . Dalam bingkai, properti Kondisi pertama CompositionConditionalValue yang mengembalikan true menggantikan nilai DeltaPosition Y dengan nilai yang disediakan oleh properti CompositionConditionalValue.Value. Jika tidak ada yang dievaluasi ke true, nilai Y tidak diganti untuk bingkai tersebut DeltaPosition .

ConfigureDeltaScaleModifiers(IIterable<CompositionConditionalValue>)

Mengambil daftar objek CompositionConditionalValue yang diurutkan . Dalam bingkai, properti Kondisi pertama CompositionConditionalValue yang mengembalikan true menggantikan nilai DeltaScale dengan nilai yang disediakan oleh properti CompositionConditionalValue.Value. Jika tidak ada yang dievaluasi ke true, tidak diganti untuk bingkai tersebut DeltaScale .

Create(Visual)

Membuat instans VisualInteractionSource.

CreateFromIVisualElement(IVisualElement)

Membuat instans VisualInteractionSource dari elemen yang mengimplementasikan IVisualElement.

Dispose()

Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, merilis, atau mengatur ulang sumber daya yang tidak dikelola.

(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 CompositionAnimationGroup. 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(ExpPointerPoint)

Upaya untuk mengirim manipulasi yang dikonfigurasi untuk aliran pointer yang diberikan ke InteractionTracker, bukan utas UI aplikasi, dimulai dari ExpPointerPoint yang diberikan.

Important

Metode ini hanya boleh dipanggil dengan PointerDeviceType of Touch.

TryRedirectForManipulation(PointerPoint)

Upaya untuk mengirim manipulasi yang dikonfigurasi untuk aliran pointer yang diberikan ke InteractionTracker, bukan utas UI aplikasi, dimulai dari PointerPoint yang diberikan.

Important

Metode ini hanya boleh dipanggil dengan PointerDeviceType of Touch.

Berlaku untuk

Lihat juga