Windows Phone 7开发:如何突出显示ListBox的选择

时间:2011-09-10 20:18:44

标签: windows-phone-7

我的.xaml文件中有这段代码

<ListBox Name="Tracks" Margin="0,0,-12,0" ItemsSource="{Binding AllTracks}">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Margin="0,0,0,17" Width="432" Height="150">
                            <TextBlock Text="{Binding Name}" TextWrapping="NoWrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
                            <TextBlock Text="{Binding Artist}" TextWrapping="NoWrap" Margin="12,-3,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>

                            <TextBlock Text="{Binding Album}" TextWrapping="NoWrap" Margin="12,3,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
                            <TextBlock Text="{Binding Duration}" TextWrapping="NoWrap" Margin="12,6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

我把数据放在我的列表中(MediaLibrary library = new MediaLibrary();                 Tracks.ItemsSource = library.Songs;)。 我可以在列表中看到数据但是当我选择某些内容时,选择不会突出显示, 我怎么能解决它?感谢...

2 个答案:

答案 0 :(得分:3)

手机将Accent颜色作为前景应用于所选元素的VisualTree。但由于你要覆盖所有元素的样式,很可能不会应用颜色。

尝试使用没有任何Style的常规TextBlock,你会看到。

答案 1 :(得分:0)

这里:Windows Phone 7 - Setting style for specific control within selected ListBoxItem我已经写了一些回应类似的问题。请至少阅读原始帖子/问题以及我对它的回答。起初看起来可能看起来很难,因为没有少量额外的XAML,但事实上它很容易理解,一旦你把它看作几个不同的方面(模板,样式,视觉状态) - 结果证明是这样。很自相矛盾的。一旦你仔细阅读它,你可能会注意到你的问题几乎完全相同,从文本框前景到面板背景的“动画”属性/目标的细微差别......