2014-11-25 4 views
0

Мне нужно изменить цвет фона StackPanel для элемента, выбранного пользователем.Как изменить цвет выбранного элемента в ListView в WinRT

Приобретите свою помощь.

вот мой 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"/> 




ответ

0

Override/добавить <SolidColorBrush x:Key="ListViewItemSelectedBackgroundThemeBrush" Color="#YourColor" /> своим Application.Resources. Вы найдете все цвета по умолчанию в файле generic.xaml здесь: C: \ Program Files (x86) \ Windows Kits \ 8.1 \ Include \ winrt \ xaml \ design (Предположим, вы работаете с x64).

+0

он не будет работать на StackPanel. Он меняет цвет СЛОВА, но не StackPanel. – MilkBottle

+0

Нет, это изменит Foreground, ListViewItemSelectedForegroundThemeBrush. – Dani

+0

Я сделал это согласно вашей инструкции. Пример: или Цвет = "Синий". Нужно ли мне что-то делать в элементе управления ListView? – MilkBottle

Смежные вопросы