Стиль ListBox Выбранный элемент на телефоне Windows
Мне бы хотелось узнать, как добавить стиль при выборе элемента списка.
У меня есть следующий список:
<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
для каждого из элементов, которые он отображает. Ваш обновленный шаблон должен настроить выбранное визуальное состояние. Затем вы можете связать этот новый шаблон с ListBox
с помощью свойства ListBox.ItemContainerStyle
.
Существует хороший учебник, с исходным кодом для загрузки, здесь:
http://windowsphonegeek.com/tips/How-to-customize-the-WP7-ListBox-Selected-Item--Part1-Control-Template