我的xaml中有一个ListView
有3个项目:
<ListView Height="768" Width="220" Background="Silver" >
<x:String>Item 1</x:String>
<x:String>Item 2</x:String>
<x:String>Item 3</x:String>
</ListView>
如何更改行中文本的颜色/文字大小?
另外作为奖励问题,如何才能获得该行的背景和文本颜色,然后选择一个项目?
答案 0 :(得分:0)
解决方法非常简单:
如果要为所有项目设置相同的颜色,则以下方式适用:
<ListView Height="768" Width="220" Background="Silver">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Foreground" Value="Blue"></Setter>
</Style>
</ListView.ItemContainerStyle>
<system:String>Item 1</system:String>
<system:String>Item 2</system:String>
<system:String>Item 3</system:String>
</ListView>
为了使特定项具有唯一的颜色,您应该为ListView本身放置AlternationCount
属性:
<ListView AlternationCount="50" Height="768" Width="220" Background="Silver">
和ItemContainerStyle
内的触发器。这里的Trigger Value
属性是项目的索引:
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Foreground" Value="Red"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Foreground" Value="Blue"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Foreground" Value="Black"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
此时,很容易弄清楚如何操纵Foreground
以外的属性。