Стиль ListBox Выбранный элемент на Windows Phone

Я хотел бы знать, как я могу добавить стиль, когда выбран элемент списка. У меня есть следующий список:

<ListBox x:Name="ListBoxDays" 
                        VerticalAlignment="Top" 
                        ItemTemplate="{StaticResource WeekDayTemplate}" 
                        ItemsSource="{Binding WeekDayList}"  /> 

И у меня также есть DataTemplate для списка.

<phone:PhoneApplicationPage.Resources> 
        <DataTemplate x:Key="WeekDayTemplate"> 
            <StackPanel x:Name="stackPanel" Orientation="Horizontal" Width="400" Margin="12,0,0,10" Height="100"  > 
                <StackPanel VerticalAlignment="Center" Orientation="Vertical"> 
                    <TextBlock Text="{Binding WeekDayName}" Style="{StaticResource PhoneTextExtraLargeStyle}" TextWrapping="Wrap" TextTrimming="WordEllipsis" Foreground="{StaticResource PhoneRadioCheckBoxPressedBorderBrush}" UseLayoutRounding="True" /> 
                    <TextBlock Text="{Binding ShortDate}" Style="{StaticResource PhoneTextTitle2Style}" TextWrapping="Wrap" TextTrimming="WordEllipsis" Foreground="{StaticResource PhoneBorderBrush}" Margin="25,0,12,0" />                     
                </StackPanel> 
            </StackPanel>            
        </DataTemplate>                 
    </phone:PhoneApplicationPage.Resources> 

В тот момент, когда я выбираю элемент из списка, изменение цвета не происходит.

1 ответ

Решение

Вы должны изменить стиль шаблона ListBoxItem который ListBox генерирует для каждого из элементов, которые он представляет. Ваш обновленный шаблон должен настроить визуальное состояние Selected. Затем вы можете связать этот новый шаблон с вашим ListBox через ListBox.ItemContainerStyle имущество.

Вот хороший учебник с исходным кодом для скачивания здесь:

http://windowsphonegeek.com/tips/How-to-customize-the-WP7-ListBox-Selected-Item--Part1-Control-Template

Другие вопросы по тегам