ListBox样式Windows手机上的所选项目

时间:2012-02-08 15:33:14

标签: windows-phone-7 listbox selecteditem

我想知道如何在选择列表框的项目时添加样式。 我有以下列表框:

<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 个答案:

答案 0 :(得分:12)

您必须更改ListBoxItem为其呈现的每个项目生成的模板ListBox的样式。您更新的模板需要自定义Selected视觉状态。然后,您可以通过ListBox属性将此新模板与ListBox.ItemContainerStyle相关联。

有一个很好的教程,下载源代码,在这里:

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