Инструкция по Изменению стиля строки в ListView, который реализует GridView
В этом примере показано, как задать стиль строки в элементе управления ListView, который использует режим GridViewView.
Пример
Чтобы задать стиль строки в элементе управления ListView, можно задать атрибут ItemContainerStyle элемента управления ListView. Задайте стиль для элементов, представленных в виде объектов ListViewItem. Атрибут ItemContainerStyle ссылается на объекты ControlTemplate, которые используются для отображения содержимого строк.
В полном примере, из которого взяты следующие примеры, отображается коллекция сведений о композициях, хранящихся в базе данных XML. Каждая композиция в базе данных имеет поле оценки, и значение этого поля определяет способ отображения строки со сведениями о композиции.
В следующем примере показано, как определить атрибут ItemContainerStyle для объектов ListViewItem, представляющих композиции в коллекции композиций. Атрибут ItemContainerStyle ссылается на объекты ControlTemplate, которые задают способ отображения строки с информацией о композиции.
<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>
В следующем примере показан шаблон ControlTemplate, который добавляет текстовую строку "Strongly Recommended"
к строке. На этот шаблон ссылается атрибут ItemContainerStyle, и в нем отображается рейтинг композиции, имеющий значение 5 (пять). ControlTemplate включает объект GridViewRowPresenter, который располагает содержимое строки в столбцах в соответствии с режимом отображения GridView.
<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>
В следующем примере определяется 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>
См. также
.NET Desktop feedback
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по