Как применить стиль к ListViewItems в WPF?
Прежде всего, я новичок в WPF.
У меня есть этот стиль, готовый для моих вещей:
<Style x:Key="lvItemHover" TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Foreground" Value="Black" />
</Trigger>
</Style.Triggers>
</Style>
Как передать этот стиль элементам в моем ListView
?
Ответы
Ответ 1
Попробуйте это
<ListView x:Name="listView">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Foreground" Value="Black" />
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
<ListViewItem>Item1</ListViewItem>
<ListViewItem>Item2</ListViewItem>
<ListViewItem>Item3</ListViewItem>
</ListView>
Ответ 2
У вас есть много вариантов
-
Удалите x:Key="lvItemHover"
от вашего стиля, и он получит
применяется ко всем вашим спискам ListViewItems
-
Применить стиль к каждому
ListViewItem нравится
<ListViewItem
Style="{StaticResource
lvItemHover}">Item1</ListViewItem>
-
Поместите свой стиль внутри ListView.ItemContainerStyle
, как в приведенном выше сообщении
Ответ 3
Это самый простой способ определить стиль ListViewItem из статического ресурса:
<ListView x:Name="listView" ItemContainerStyle="{StaticResource lvItemHover}">
</ListView>