ItemsControl.ItemContainerStyle Properti

Definisi

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: ItemContainerStyle yang digunakan dengan item ListView

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 HorizontalAlignmentRight. 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 ItemsControlPemilih 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, , GridViewItemdan 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.

Berlaku untuk

Lihat juga

ItemControl.ItemContainerTransitions