Postupy: Nastavení stylu řádku v zobrazení ListView s implementací GridView
Tento příklad ukazuje, jak stylovat řádek v ovládacím ListView prvku, který používá GridViewView režim.
Příklad
Řádek v ovládacím ListView prvku můžete stylovat nastavením ItemContainerStyleListView ovládacího prvku. Nastavte styl pro své položky, které jsou reprezentovány jako ListViewItem objekty. ItemContainerStyle Odkazuje na ControlTemplate objekty, které se používají k zobrazení obsahu řádku.
Kompletní ukázka, ze které se extrahují následující příklady, zobrazí kolekci informací o skladbě, které jsou uložené v databázi XML. Každá skladba v databázi má pole hodnocení a hodnota tohoto pole určuje, jak zobrazit řádek informací o skladbě.
Následující příklad ukazuje, jak definovat ItemContainerStyle pro ListViewItem objekty, které představují skladby v kolekci skladeb. Odkazy ItemContainerStyle na ControlTemplate objekty, které určují, jak zobrazit řádek informací o skladbě.
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}" >
<Setter Property="Template"
Value="{StaticResource Default}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding XPath=@Rating}" Value="5">
<Setter Property="Template"
Value="{StaticResource StronglyRecommended}"/>
</DataTrigger>
<DataTrigger Binding="{Binding XPath=@Rating}" Value="4">
<Setter Property="Template"
Value="{StaticResource Recommended}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
Následující příklad ukazuje ControlTemplate , který přidá textový řetězec "Strongly Recommended"
do řádku. Na tuto šablonu se odkazuje a ItemContainerStyle zobrazí se, když má hodnocení skladby hodnotu 5 (pět).
ControlTemplate Obsahuje GridViewRowPresenter objekt, který vyloží obsah řádku ve sloupcích definovaný režimem GridView zobrazení.
<ControlTemplate x:Key="StronglyRecommended"
TargetType='{x:Type ListViewItem}'>
<StackPanel Background="Beige">
<GridViewRowPresenter Content="{TemplateBinding Content}"
Columns="{TemplateBinding GridView.ColumnCollection}"/>
<TextBlock Background="LightBlue" Text="Strongly Recommended" />
</StackPanel>
</ControlTemplate>
Následující příklad definuje GridView.
<ListView.View>
<GridView ColumnHeaderContainerStyle="{StaticResource MyHeaderStyle}">
<GridViewColumn Header="Name"
DisplayMemberBinding="{Binding XPath=@Name}"
Width="100"/>
<GridViewColumn Header="Time"
DisplayMemberBinding="{Binding XPath=@Time}"
Width="80"/>
<GridViewColumn Header="Artist"
DisplayMemberBinding="{Binding XPath=@Artist}"
Width="80" />
<GridViewColumn Header="Disk"
DisplayMemberBinding="{Binding XPath=@Disk}"
Width="100"/>
</GridView>
</ListView.View>
Viz také
.NET Desktop feedback