2012-02-08 2 views
11

Мне бы хотелось узнать, как добавить стиль, когда выбран элемент списка. У меня есть следующий LISTBOX:ListBox Style Выбранный элемент на телефоне Windows

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

И я также DataTemplate к ListBox.

<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> 

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

ответ

12

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

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

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

+0

+1 Большого ресурс. – loyalpenguin

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