GroupStyle.AlternationCount 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 jumlah objek alternatif GroupItem .
public:
property int AlternationCount { int get(); void set(int value); };
public int AlternationCount { get; set; }
member this.AlternationCount : int with get, set
Public Property AlternationCount As Integer
Nilai Properti
Jumlah objek alternatif GroupItem .
Contoh
Contoh berikut membuat ListBox yang terikat ke yang mengelompokkan CollectionViewSource item dalam koleksi. Contoh ini mengubah latar belakang untuk header masing-masing GroupItem antara dua warna dengan melakukan hal berikut:
Atur AlternationCount ke 2.
Membuat yang AlternationConverter mengembalikan SolidColorBrush, tergantung pada nilai ItemsControl.AlternationIndex.
Mengikat dari dalam ke HeaderTemplateItemsControl.AlternationIndex properti dan menyediakan AlternationConverter.TextBlockBackground Perhatikan bahwa AlternationIndex properti terlampir diatur pada GroupItem, dan pengikatan menggunakan FindAncestor untuk mendapatkan nilainya.
Contoh ini juga mengubah latar belakang item di ListBox antara tiga warna dengan mengatur AlternationCount pada ListBox dan mengikat Background masing-masing ListBox ke ItemsControl.AlternationIndex. Dalam hal ini, latar belakang bergantian antara tiga warna.
Yang CollectionViewSource mengelompokkan item tidak ditampilkan. Untuk informasi tentang cara mengelompokkan item, lihat Cara: Mengurutkan dan Mengelompokkan Data Menggunakan Tampilan di XAML.
<StackPanel>
<StackPanel.Resources>
<!--Returns a Brush for the header of a GroupItem.-->
<AlternationConverter x:Key="GroupHeaderBackgroundConverter">
<SolidColorBrush>LightBlue</SolidColorBrush>
<SolidColorBrush>LightSteelBlue</SolidColorBrush>
</AlternationConverter>
<!--Returns a Brush for a ListBoxItem.-->
<AlternationConverter x:Key="BackgroundConverter">
<SolidColorBrush>Silver</SolidColorBrush>
<SolidColorBrush>LightGray</SolidColorBrush>
<SolidColorBrush>GhostWhite</SolidColorBrush>
</AlternationConverter>
</StackPanel.Resources>
<ListBox ItemsSource="{Binding Source={StaticResource groupedData}}"
DisplayMemberPath="CityName" AlternationCount="3" Name="lb">
<ListBox.GroupStyle>
<!--Set alternating backgrounds on the header of each group.-->
<GroupStyle AlternationCount="2">
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock FontWeight="Bold"
Text="{Binding Path=Name}"
Background="{Binding
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type GroupItem}},
Path=(ItemsControl.AlternationIndex),
Converter={StaticResource
GroupHeaderBackgroundConverter}}"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListBox.GroupStyle>
<ListBox.ItemContainerStyle>
<!--Set alternating backgrounds on the items in the ListBox.-->
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Background"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(ItemsControl.AlternationIndex),
Converter={StaticResource BackgroundConverter}}"/>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
</StackPanel>
Keterangan
Properti AlternationCount dan ItemsControl.AlternationIndex properti terlampir memungkinkan Anda menentukan tampilan untuk dua atau beberapa objek alternatif GroupItem . Misalnya, Anda dapat menentukan warna latar belakang alternatif untuk setiap pertiga GroupItem dalam ItemsControl. ItemsControl.AlternationIndex ditetapkan untuk masing-masing GroupItem di ItemsControl. ItemsControl.AlternationIndex dimulai pada 0, kenaikan hingga AlternationCount minus 1, dan kemudian dimulai ulang pada 0. Misalnya, jika AlternationCount adalah 3 dan ada tujuh GroupItem objek dalam ItemsControl, tabel berikut mencantumkan ItemsControl.AlternationIndex untuk setiap item.
| GroupItem Posisi dalamItemsControl | ItemsControl.AlternationIndex |
|---|---|
| 1 | 0 |
| 2 | 1 |
| 3 | 2 |
| 4 | 0 |
| 5 | 1 |
| 6 | 2 |
| 7 | 0 |
Ada beberapa metode yang dapat Anda gunakan untuk menentukan tampilan yang berbeda untuk objek alternatif GroupItem . Salah satu metodenya adalah mengikat properti di HeaderTemplate atau ContainerStyle ke GroupStyleItemsControl.AlternationIndex. Anda kemudian dapat menggunakan AlternationConverter untuk menentukan nilai mana yang harus diterapkan ke GroupItem yang memiliki nilai tertentu ItemsControl.AlternationIndex . Anda juga dapat menggunakan pemicu untuk mengubah nilai properti tergantung pada nilainya ItemsControl.AlternationIndex.