如何在WinRT中更改ListView中所选项的颜色

时间:2014-11-25 04:37:31

标签: winrt-xaml

我需要更改用户选择的项目的StackPanel背景颜色。

提供你的帮助。

这是我的XAML:


<DataTemplate x:Key="SpeechTemplate">

 <StackPanel x:Name="Sp" Width="400" Height="120" Background="Red">

    <TextBlock Text="{Binding Title}" 
                     Grid.Column="0"
                     Margin="3,3,0,0" 
                     TextWrapping="Wrap"
                     VerticalAlignment="Top"
                     FontSize="24"
                     FontWeight="SemiBold"/>

    <TextBlock Text="{Binding SId}" 
                     Grid.Column="1"
                     Margin="3,3,0,0" 
                     TextWrapping="Wrap"
                     VerticalAlignment="Top"
                     FontSize="18"/>

   <TextBlock Text="{Binding TopicId}" 
                      Grid.Column="2"
                      Margin="3,3,0,0" 
                      TextWrapping="Wrap"
                      VerticalAlignment="Top"
                      FontSize="18"/>

   </StackPanel>

 </DataTemplate>




<ListView x:Name="SpeechesGridView" Width="420"                               
                  Foreground="White"     
                  SelectionMode="None"
                  IsSwipeEnabled="True"
                  IsItemClickEnabled="True"

      ItemsSource="{Binding Mode=OneWay, Source={StaticResource SpeechesViewSource}}"                      
      ItemTemplate="{StaticResource SpeechTemplate}"

      ItemClick="SpeechesGridView_ItemClick"      

      SelectionChanged="SpeechesGridView_SelectionChanged"/>




1 个答案:

答案 0 :(得分:0)

覆盖/添加<SolidColorBrush x:Key="ListViewItemSelectedBackgroundThemeBrush" Color="#YourColor" />到您的Application.Resources。你可以在这里找到generic.xaml文件中的所有默认颜色:C:\ Program Files(x86)\ Windows Kits \ 8.1 \ Include \ winrt \ xaml \ design(假设你使用的是x64)。