2011-09-10 139 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,它可能看起來勢不可擋,但實際上它很容易遵循,並且一旦將它看作幾個不同的方面(模板,樣式,視覺狀態) - 事實證明是如此。相當短暫,矛盾。一旦你通讀它,你可能會注意到你的問題幾乎是完全一樣的,與從文本框的前景到面板背景的'動畫'屬性/目標的細微區別..