2011-09-10 6 views
1

のハイライトの選択は、私は私は私のようなリスト(MediaLibraryライブラリ=新しいMediaLibrary()内のデータを入れのWindows Phone 7のDEV:ListBoxの

<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> 

私の.xamlファイルにこのコードを持っているか。 Tracks.ItemsSource = library.Songs;) 私のリストにあるデータを見ることができますが、何かを選択すると選択が強調表示されません どうすれば修正できますか?ありがとう...

+0

電話機スタイルは、選択されたビジュアル状態でハイライトカラーを使用しません。確認するために別の非電話スタイルを試すことができます。 –

+0

確かにPhoneAccentBrush – quetzalcoatl

答えて

3

電話機は、選択した要素のVisualTreeにアクセント色をフォアグラウンドとして適用します。しかし、すべての要素のスタイルをオーバーライドしているので、色が適用されない可能性があります。

通常のTextBlockをスタイルなしで試してみましょう。

+0

を使用しています。ありがとうございます。スタイルを使わずに試してみましたが、今は選択の色をどのように変えることができますか? – Tim

+0

@Tim使用される色はアクセントの色です。カスタムを使用するには、Blendでリストボックスの新しいスタイルを作成し、ハイライトの色を好きなものに変更します。 –

+0

ok、ありがとう、私は何かを選択すると、バックグラウンド(stackPanel私は思う)の色を変更する方法はありますか? – Tim

0

ここに:Windows Phone 7 - Setting style for specific control within selected ListBoxItem私は同様の問題に対応して少し書いた。少なくとも、元の投稿/問題とその答えをお読みください。 XAMLの量が少なくても、最初は圧倒的に見えるかもしれませんが、実際にはそれはかなり簡単で、いろいろな側面(テンプレート、スタイル、ビジュアルステート)として見れば分かります。非常に短い、逆説的に。一度読むと、問題はほとんど同じで、テキストボックスの前景色からパネルの背景までの「アニメーション」プロパティ/ターゲットのわずかな違いに気づくでしょう。