Стиль ListBox Выбранный элемент на Windows Phone - PullRequest
11 голосов
/ 08 февраля 2012

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

<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 Ответ

12 голосов
/ 08 февраля 2012

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

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

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

...