如何在Windows 8.1商店应用中选择ListViewItem时更改文本块的颜色?
<ListView>
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding text}" Name="Mytxt" Foreground="Black"></TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
答案 0 :(得分:1)
设置ListViewItem样式并在选择时更改颜色:
<Style x:Key="{x:Type ListViewItem}" TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<Grid SnapsToDevicePixels="true" Background="Transparent">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Selected">
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="buttonBackgroundShape"
Storyboard.TargetProperty="Opacity" To="1" Duration="0"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Rectangle Name="buttonBackgroundShape" Stretch="Fill" Opacity="0" Fill="Red" Height="50" SnapsToDevicePixels="True" />
<ContentPresenter x:Name="buttonText" Margin="30,0,30,0" TextBlock.FontSize="12pt" Content="{Binding Path=Name}" VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
答案 1 :(得分:0)
您可以更改SelctionChanged事件中的颜色:
请参阅下面的链接:
答案 2 :(得分:0)
<ListView>
<ListViewItem Name="listViewItem1" Selected="listViewItem1_Selected">
<TextBlock Text="{Binding text}" Name="Mytxt"/>
</ListViewItem>
</ListView>
和
private void listViewItem1_Selected(object sender, RoutedEventArgs e)
{
Mytxt.Foreground = Brushes.Red;
Mytxt.Background = Brushes.Green;
}