ItemsPanelTemplate 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.
Menentukan panel yang ItemsPresenter dibuat untuk tata letak item dari ItemsControl.
public ref class ItemsPanelTemplate : System::Windows::FrameworkTemplate
public class ItemsPanelTemplate : System.Windows.FrameworkTemplate
type ItemsPanelTemplate = class
inherit FrameworkTemplate
Public Class ItemsPanelTemplate
Inherits FrameworkTemplate
- Warisan
Contoh
Untuk membuat horizontal ListBox, Anda bisa membuat templat yang menentukan horizontal StackPanel dan mengaturnya sebagai ItemsPanel properti . Contoh berikut menunjukkan ListBoxStyle yang membuat horizontal ListBox.
<Style TargetType="ListBox">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
Contoh berikut menggunakan ControlTemplate untuk membuat horizontal ListBox yang memiliki sudut bulat. Perhatikan bahwa dalam contoh ini, alih-alih mengatur ItemsPanel properti seperti dalam contoh sebelumnya, horizontal StackPanel ditentukan dalam ControlTemplate. Perhatikan bahwa IsItemsHost properti diatur ke true pada StackPanel, menunjukkan bahwa item yang dihasilkan harus masuk ke panel. Ketika Anda menentukannya dengan cara ini, ItemsPanel tidak dapat digantikan oleh pengguna kontrol tanpa menggunakan ControlTemplate. Oleh karena itu, hanya lakukan ini jika Anda tahu Anda tidak ingin panel diganti tanpa menggunakan templat.
<Style TargetType="ListBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBox">
<Border CornerRadius="5" Background="{TemplateBinding ListBox.Background}">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<StackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center"
IsItemsHost="True"/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Atau, Anda dapat melakukan hal berikut untuk mencapai hasil yang sama. Dalam hal ini, ItemsPresenter membuat panel untuk tata letak item berdasarkan apa yang ditentukan oleh ItemsPanelTemplate.
<Style TargetType="{x:Type ListBox}">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBox}">
<Border CornerRadius="5"
Background="{TemplateBinding ListBox.Background}">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<ItemsPresenter/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Untuk contoh cara menggunakan properti gaya dan templat yang berbeda pada ItemsControl, lihat Gambaran Umum Templat Data.
Keterangan
ItemsPanelTemplate menentukan panel yang digunakan untuk tata letak item. GroupStyle memiliki Panel properti berjenis ItemsPanelTemplate. ItemsControl jenis memiliki ItemsPanel properti berjenis ItemsPanelTemplate.
Setiap ItemsControl jenis memiliki default ItemsPanelTemplate. ItemsControl Untuk kelas , nilai default ItemsPanel adalah ItemsPanelTemplate yang menentukan StackPanel. ListBoxUntuk , default menggunakan VirtualizingStackPanel. Untuk MenuItem, default menggunakan WrapPanel. Untuk StatusBar, default menggunakan DockPanel.
Konstruktor
| Nama | Deskripsi |
|---|---|
| ItemsPanelTemplate() |
Menginisialisasi instans ItemsPanelTemplate kelas. |
| ItemsPanelTemplate(FrameworkElementFactory) |
Menginisialisasi instans ItemsPanelTemplate kelas dengan templat yang ditentukan. |
Properti
| Nama | Deskripsi |
|---|---|
| Dispatcher |
Dispatcher Mendapatkan ini DispatcherObject dikaitkan dengan. (Diperoleh dari DispatcherObject) |
| HasContent |
Mendapatkan nilai yang menunjukkan apakah templat ini memiliki konten yang dioptimalkan. (Diperoleh dari FrameworkTemplate) |
| IsSealed |
Mendapatkan nilai yang menunjukkan apakah objek ini dalam status tidak dapat diubah sehingga tidak dapat diubah. (Diperoleh dari FrameworkTemplate) |
| Resources |
Mendapatkan atau mengatur kumpulan sumber daya yang dapat digunakan dalam cakupan templat ini. (Diperoleh dari FrameworkTemplate) |
| Template |
Mendapatkan atau mengatur referensi ke objek yang merekam atau memutar simpul XAML untuk templat saat templat ditentukan atau diterapkan oleh penulis. (Diperoleh dari FrameworkTemplate) |
| VisualTree |
Mendapatkan atau mengatur simpul akar templat. (Diperoleh dari FrameworkTemplate) |
Metode
| Nama | Deskripsi |
|---|---|
| CheckAccess() |
Menentukan apakah utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| FindName(String, FrameworkElement) |
Menemukan elemen yang terkait dengan nama yang ditentukan dalam templat ini. (Diperoleh dari FrameworkTemplate) |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| LoadContent() |
Memuat konten templat sebagai instans objek dan mengembalikan elemen akar konten. (Diperoleh dari FrameworkTemplate) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| RegisterName(String, Object) |
Mendaftarkan pasangan nama/objek baru ke dalam cakupan nama saat ini. (Diperoleh dari FrameworkTemplate) |
| Seal() |
Mengunci templat sehingga tidak dapat diubah. (Diperoleh dari FrameworkTemplate) |
| ShouldSerializeResources(XamlDesignerSerializationManager) |
Mengembalikan nilai yang menunjukkan apakah proses serialisasi harus menserialisasikan nilai Resources properti pada instans kelas ini. (Diperoleh dari FrameworkTemplate) |
| ShouldSerializeVisualTree() |
Mengembalikan nilai yang menunjukkan apakah proses serialisasi harus menserialisasikan nilai VisualTree properti pada instans kelas ini. (Diperoleh dari FrameworkTemplate) |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
| UnregisterName(String) |
Menghapus pemetaan nama/objek dari namescope XAML. (Diperoleh dari FrameworkTemplate) |
| ValidateTemplatedParent(FrameworkElement) |
Memeriksa apakah induk yang di-templat adalah objek non-null ItemsPresenter . |
| VerifyAccess() |
Memberlakukan bahwa utas panggilan memiliki akses ke ini DispatcherObject. (Diperoleh dari DispatcherObject) |
Implementasi Antarmuka Eksplisit
| Nama | Deskripsi |
|---|---|
| INameScope.FindName(String) |
Mengembalikan objek yang memiliki nama pengidentifikasi yang disediakan. (Diperoleh dari FrameworkTemplate) |
| IQueryAmbient.IsAmbientPropertyAvailable(String) |
Mengkueri apakah properti sekitar tertentu tersedia dalam cakupan saat ini. (Diperoleh dari FrameworkTemplate) |