2011-09-10 140 views
1

的亮点选择如何我有这样的代码在我的.xaml文件Windows Phone 7的开发:列表框

<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库=新MediaLibrary(); Tracks.ItemsSource = library.Songs;)。 我可以看到我的清单上的数据,但当我选择的东西,选择不会突出显示, 我该如何解决它?谢谢...

+0

我期望手机样式不在选定的可视状态中使用高亮颜色。你可以尝试一种不同的非手机风格来检查。 –

+0

事实上,它使用PhoneAccentBrush – quetzalcoatl

回答

3

该手机将前景色应用于所选元素的VisualTree。但是,由于您对所有元素都重写了样式,所以颜色很可能不会被应用。

尝试使用没有任何样式的常规TextBlock,然后您会看到。

+0

好的谢谢,我试图没有风格的它的作品,现在你知道我怎么可以改变选择的颜色? – Tim

+0

@Tim使用的颜色是重音颜色。要使用自定义项,请在Blend中为列表框创建新样式,并将高亮颜色更改为任何您喜欢的颜色。 –

+0

好的,谢谢有什么方法可以改变背景的颜色(stackpanel我认为),当我选择一些东西? – Tim

0

Here:Windows Phone 7 - Setting style for specific control within selected ListBoxItem我已经写了一点回应类似的问题。请至少阅读原始帖子/问题和我的回答。由于没有少量额外的XAML,它可能看起来势不可挡,但实际上它很容易遵循,并且一旦将它看作几个不同的方面(模板,样式,视觉状态) - 事实证明是如此。相当短暂,矛盾。一旦你通读它,你可能会注意到你的问题几乎是完全一样的,与从文本框的前景到面板背景的'动画'属性/目标的细微区别..