Стиль 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
имущество.
Вот хороший учебник с исходным кодом для скачивания здесь: