ListBox
es ya da ListView
s ile AlternationIndex
'un nasıl kullanılacağını gösteren bazı makaleler gördüm, ancak ItemsControl
sınıfında alternatif arka plan renkleri almaya çalışırken birkaç saat harcadım ve hiçbir şey işe yaramıyor gibi görünüyor.ItemsControls içinde AlternationIndex nasıl kullanılır?
<Grid>
<Grid.Resources>
<Style x:Key="alternatingWithTriggers" TargetType="{x:Type ListBoxItem}">
<Setter Property="Background" Value="Blue"/>
<Setter Property="Foreground" Value="White"/>
<Style.Triggers>
<Trigger Property="ListBox.AlternationIndex" Value="1">
<Setter Property="Background" Value="CornflowerBlue"/>
<Setter Property="Foreground" Value="Black"/>
</Trigger>
<Trigger Property="ListBox.AlternationIndex" Value="2">
<Setter Property="Background" Value="LightBlue"/>
<Setter Property="Foreground" Value="Navy"/>
</Trigger>
</Style.Triggers>
</Style>
</Grid.Resources>
<ListBox AlternationCount="3" ItemsSource="{StaticResource data}"
ItemContainerStyle="{StaticResource alternatingWithTriggers}">
</ListBox>
</Grid>
Ben seçim işlevselliği istemiyorum çünkü ItemsControl
kullanmak istiyorsanız ve: bu MSDN gelen biri gibi - Bütün ListBox
numuneler ben AlternationIndex
dayalı arka ayarlar bu stil için hedef türü olarak ListBoxItem
kullanırken gördüğünü Saklamak için ListBox
'u tekrar kullanmak en iyi seçim olmayabilir.
Bu şeylerin Deniyordum biridir:
<DataTemplate DataType="{x:Type vm:ObservableCollectionItem}">
<Grid>
<!-- some content here -->
</Grid>
</DataTemplate>
<!-- ... -->
<ItemsControl
ItemsSource="{Binding ObservableCollectionItems}"
AlternationCount="2"
>
<ItemsControl.ItemContainerStyle>
<Style>
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Grid.Background" Value="Red"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Grid.Background" Value="Blue"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
Görsel ağaç 0 ile 1 arasında ItemsControl.AlternationIndex
alternatif var ContentPresenter
s listesini sahip olduğunu gördüm bir sorun, ama her Grid
ContentPresenter
ItemsControl.AlternationIndex
ürününüze AlterationCount = "100" eklemeyi unutmayın. Teşekkürler! Bu arama bağlantısının büyük ItemControls üzerinde ölçeklenip ölçeklenmeyeceğini merak ediyorum ama neyse ki benim durumum bu değil. –
İkinci örnek, ContentPresenter'ın * özelliği * bir 'Arkaplan 'özelliğine sahip olmadığından, işe yaramaz. – Will
Örnekten hemen önce söylediğim gibi;) – Bubblewrap