ItemsControl.ItemContainerStyle Properti
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.
Mendapatkan atau mengatur gaya yang digunakan saat merender kontainer item untuk ItemsControl.
public:
property Style ^ ItemContainerStyle { Style ^ get(); void set(Style ^ value); };
Style ItemContainerStyle();
void ItemContainerStyle(Style value);
public Style ItemContainerStyle { get; set; }
var style = itemsControl.itemContainerStyle;
itemsControl.itemContainerStyle = style;
Public Property ItemContainerStyle As Style
<ItemsControl>
<ItemsControl.ItemContainerStyle>
inlineStyle
</ItemsControl.ItemContainerStyle>
</ItemsControl>
- or -
<ItemsControl ItemContainerStyle="resourceReferenceToStyle"/>
Nilai Properti
Gaya diterapkan ke kontainer item. Standarnya adalah null.
Contoh
Contoh ini menunjukkan cara membuat ListView yang menyimpan daftar String
objek. Dengan menggunakan ItemContainerStyle
kelas , String
objek memiliki batas dan gaya mereka sendiri sementara ListViewItem
objek memiliki serangkaian gaya dan propertinya sendiri. Perhatikan bahwa jenis kontainer item dalam ListView adalah ListViewItem, sehingga digunakan sebagai TargetType gaya.
<ListView ItemsSource="{x:Bind tempList}" Height="500">
<ListView.ItemTemplate>
<DataTemplate x:DataType="x:String">
<Border BorderBrush="Crimson" BorderThickness="2" CornerRadius="25" Margin="10">
<TextBlock Text="{x:Bind}"
FontSize="24"
FontFamily="Arial"
FontWeight="Bold"
Foreground="Crimson"
Margin="10"
Padding="5"/>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalAlignment" Value="Right"/>
<Setter Property="Margin" Value="15"/>
<Setter Property="BorderBrush" Value="CornflowerBlue"/>
<Setter Property="BorderThickness" Value="5"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>
Kode di atas menghasilkan hal berikut:
Seperti yang Anda lihat dalam contoh di atas, objek data (string) memiliki gayanya sendiri yang disediakan dalam DataTemplate - gaya ini mencakup batas crimson bulat, warna font merah muda, ukuran font, dan margin dari elemen luar.
Setiap elemen yang dihasilkan oleh ListView
(masing-masing ListViewItem
) diratakan secara horizontal ke kanan, memiliki batas biru tebal, dan margin besar untuk memisahkannya dari elemen lain. Meskipun objek data di dalam ListViewItems berpusat, item itu sendiri dapat diratakan dengan benar. Dan, meskipun objek data (string) hanya memiliki sejumlah kecil ruang yang memisahkannya dari elemen lain, setiap elemen ListViewItem dapat dipisahkan oleh sejumlah besar ruang.
Penyesuaian ini dilakukan dengan membuat gaya, seperti yang ListViewItem
ditunjukkan di atas. Elemen gaya menargetkan ListViewItem
elemen jenis, dan akan diterapkan ke semua elemen dari jenis tersebut dalam cakupan tempat gaya didefinisikan - dalam hal ini, hanya yang ListView
ditampilkan.
Setter kemudian digunakan untuk memberi setiap properti gaya nilai - yaitu mengatur ke HorizontalAlignment
Right
. Properti dan nilai inilah yang memengaruhi elemen luar ListViewItem
.
Contoh ini menunjukkan cara menggunakan properti ItemContainerStyle pada ItemsControl sederhana. Perhatikan bahwa dalam hal ini jenis kontainer item adalah ContentPresenter.
<ItemsControl>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="FontSize" Value="42" />
</Style>
</ItemsControl.ItemContainerStyle>
<x:String>Hello</x:String>
<x:String>World</x:String>
</ItemsControl>
Keterangan
Kelas turunan termasuk ItemsControl
Pemilih dan MenuFlyoutPresenter. Kelas turunan dari Pemilih termasuk ComboBox, FlipView, ListBox, dan ListViewBase (yang berasal dari ListView dan GridView ).
ItemContainerStyle
Oleh karena itu kelas dapat digunakan untuk mengedit GayaListViewItem
, , GridViewItem
dan sebagainya.
Untuk setiap item dalam ItemsControl
, elemen kontainer item digunakan untuk menampilkan item. Secara default kontainer item adalah ContentPresenter. Tetapi subkelas ItemsControl
dapat mengambil alih ini, misalnya jenis kontainer dalam ListView adalah ListViewItem. Nilai ItemContainerStyle
ditetapkan sebagai properti FrameworkElement.Style dari kontainer.
ItemContainerStyle
kemudian dapat digunakan untuk mengubah gaya setiap elemen yang dihasilkan oleh ItemsControl, dan memberikan banyak opsi fleksibilitas dan kustomisasi di area tersebut. Meskipun banyak opsi gaya tersedia dalam ItemContainerStyle
kelas , paling berguna ketika mencoba mengedit bagaimana elemen yang berisi data ditampilkan dibandingkan satu sama lain - mengubah spasi mereka, perataan horizontal mereka, dll. Untuk mengubah visualisasi objek data itu sendiri, seperti warna latar belakang atau ukuran fontnya, gunakan ItemTemplate. Untuk mengubah tata letak atau orientasi keseluruhan ItemControl/itemnya, lihat mengedit ItemsPanel-nya.