Microsoft.UI.Xaml.Core.Direct Ruang nama
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.
Menyediakan cara bagi penulis middleware untuk mengakses API XAML tingkat rendah dan berkinerja tinggi dan mencapai CPU yang lebih baik dan performa set kerja.
Catatan
Namespace layanan ini memerlukan paket Microsoft.UI.Xaml.Core.Direct NuGet, bagian dari Microsoft Windows UI Library.
Dokumentasi ini berlaku untuk WinUI 2 untuk UWP (untuk WinUI di SDK Aplikasi Windows, lihat namespace SDK Aplikasi Windows).
Kelas
XamlDirect |
Mewakili kelas dasar untuk semua API XamlDirect . Semua API XamlDirect adalah metode instans kelas ini. XamlDirect adalah API untuk mengakses Xaml pada tingkat yang lebih primitif untuk CPU yang lebih baik dan performa set kerja. Dokumentasi ini berlaku untuk WinUI 2 untuk UWP (untuk WinUI di SDK Aplikasi Windows, lihat namespace SDK Aplikasi Windows). |
Antarmuka
IXamlDirect |
Mewakili kelas dasar untuk semua API XamlDirect . Semua API XamlDirect adalah metode instans kelas ini. XamlDirect adalah API untuk mengakses Xaml pada tingkat yang lebih primitif untuk CPU yang lebih baik dan performa set kerja. Dokumentasi ini berlaku untuk WinUI 2 untuk UWP (untuk WinUI di SDK Aplikasi Windows, lihat namespace SDK Aplikasi Windows). |
Enum
XamlEventIndex |
Enum yang mencantumkan semua peristiwa yang didukung di XamlDirect. Dokumentasi ini berlaku untuk WinUI 2 untuk UWP (untuk WinUI di SDK Aplikasi Windows, lihat namespace SDK Aplikasi Windows). |
XamlPropertyIndex |
Enum yang mencantumkan semua properti yang didukung di XamlDirect. Dokumentasi ini berlaku untuk WinUI 2 untuk UWP (untuk WinUI di SDK Aplikasi Windows, lihat namespace SDK Aplikasi Windows). |
XamlTypeIndex |
Enum yang mencantumkan semua jenis yang didukung di XamlDirect. Dokumentasi ini berlaku untuk WinUI 2 untuk UWP (untuk WinUI di SDK Aplikasi Windows, lihat namespace SDK Aplikasi Windows). |
Contoh
Tip
Aplikasi Galeri WinUI 3 dan Galeri WinUI 2 mencakup contoh interaktif sebagian besar kontrol, fitur, dan fungsi WinUI 3 dan WinUI 2.
Jika sudah diinstal, buka dengan mengklik tautan berikut: Galeri WinUI 3 atau Galeri WinUI 2.
Jika tidak diinstal, Anda dapat mengunduh Galeri WinUI 3 dan Galeri WinUI 2 dari Microsoft Store.
Anda juga bisa mendapatkan kode sumber untuk keduanya dari GitHub (gunakan cabang utama untuk WinUI 3 dan cabang winui2 untuk WinUI 2).
Contoh berikut menunjukkan cara menambahkan nilai ke koleksi menggunakan API XamlDirect .
XamlDirect xd = XamlDirect.GetDefault();
IXamlDirect relativePanel = xd.CreateInstance(XamlTypeIndex.RelativePanel);
IXamlDirect childrenCollection = xd.GetXamlDirectObjectProperty(relativePanel, XamlPropertyIndex.Panel_Children);
IXamlDirect button = xd.CreateInstance(XamlTypeIndex.Button);
xd.AddToCollection(childrenCollection, button);
XamlDirect^ xd = XamlDirect::GetDefault();
IXamlDirect^ relativePanel = xd->CreateInstance(XamlTypeIndex::RelativePanel);
IXamlDirect^ childrenCollection = xd->GetXamlDirectObjectProperty(relativePanel, XamlPropertyIndex::Panel_Children);
IXamlDirect^ button = xd->CreateInstance(XamlTypeIndex::Button);
xd->AddToCollection(childrenCollection, button);
Keterangan
XamlDirect adalah **tujuan yang dibuat untuk middleware*- yang sebagian besar menggunakan API imperatif untuk membuat UI alih-alih markup. Dengan API XamlDirect , Anda dapat mencapai paritas performa dengan parser XAML bahkan saat membuat UI secara imperatif dalam kode.
XamlDirect API dapat digunakan berdampingan dengan API tradisional dan memanfaatkan peningkatan performa bayar untuk bermain.
Tidak semua API Xaml tersedia dengan XamlDirect. Enum XamlTypeIndex mencantumkan semua jenis yang didukung, enum XamlPropertyIndex mencantumkan semua properti yang didukung, dan enum XamlEventIndex mencantumkan semua peristiwa yang didukung.
Fungsi yang didukung
Anda dapat melakukan fungsi berikut menggunakan API XamlDirect:
- Buat instans objek Xaml internal untuk jenis Xaml biasa, seperti Button, menggunakan Microsoft.UI.Xaml.Core.Direct.IXamlDirect.CreateInstance.
- Atur nilai properti menggunakan salah satu varian metode XamlDirect.Set-Property yang sesuai berdasarkan jenis properti . Misalnya, gunakan SetColorProperty(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlPropertyIndex,Windows.UI.Color) untuk mengakses properti SolidColorBrush.Color . Demikian pula gunakan metode Get-Property untuk mengakses properti tertentu.
- Tambahkan item ke koleksi, seperti Panel.Children, menggunakan AddToCollection(System.Object,System.Object) dan hapus item dari koleksi menggunakan RemoveFromCollection(System.Object,System.Object) atau RemoveFromCollectionAt(System.Object,System.UInt32). XamlDirect mendukung berbagai operasi pengumpulan tersebut termasuk GetCollectionCount(System.Object), ClearCollection(System.Object), InsertIntoCollectionAt(System.Object,System.UInt32,System.Object), RemoveFromCollectionAt(System.Object,System.UInt32), dan GetXamlDirectObjectFromCollectionAt(System.Object,System.UInt32).
- Menambahkan penanganan aktivitas, seperti Button.Click using AddEventHandler(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlEventIndex,System.Object) dan juga menghapus penanganan aktivitas menggunakan Microsoft.UI.Xaml.Core.Direct.IXamlDirect.RemoveEventHandler(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlEventIndex,System.Object).
Semua objek yang dikembalikan oleh CreateInstance berjenis IXamlDirect. Semua API lainnya, seperti SET*Property API, mengambil IXamlDirect sebagai parameter pertamanya.
Untuk mengonversi IXamlDirect ke APINDEX lengkapnya, misalnya Tombol, gunakan metode GetObject(System.Object). Demikian pula, Anda dapat menggunakan GetXamlDirectObject untuk mengonversi dari Object/DependencyObject lengkap ke instans setara XamlDirect-nya.