2014-02-16 1 views
0

В настоящее время я использую LongListMultiSelector из WPToolkit, и я пытаюсь изменить цвет каждого GroupHeader в зависимости от ключа GroupHeader (имя отображается).Windows Phone 8: LongListMultiSelector dynamic GroupHeader Color

В настоящее время в моем списке отображаются элементы, сгруппированные по названию рынка, например: Target и Wal-mart.

Я использую этот HeaderTemplate

 <!--GroupHeaderTemplate--> 
    <DataTemplate x:Key="GroupHeaderTemplate"> 
     <Border Background="Transparent" Margin="0,0,0,10"> 
      <StackPanel Background="Transparent" HorizontalAlignment="Stretch"> 
       <TextBlock Text="{Binding Key}" Foreground="#FF1B3A70" FontSize="48" FontFamily="{StaticResource PhoneFontFamilySemiLight}" HorizontalAlignment="Left" VerticalAlignment="Top"/> 
       <Rectangle Fill="{Binding HeaderColor}" Height="3"/><!--Fill="#FF5876AA"--> 
      </StackPanel> 
     </Border> 
    </DataTemplate> 

и то, что я хочу делать, чтобы изменить цвет заливки прямоугольника и цвет переднего плана.

Например, Wal-mart может иметь синий прямоугольник, а Target может иметь красный цвет.

Заранее благодарен!

ответ

0

Крит a value converter, возвращая цвет данной группе заголовка группы. Привяжите свойства Rectangle Fill и TextBlock Foreground к «Key» и используйте преобразователь. Там будет что-то вроде:

<DataTemplate x:Key="GroupHeaderTemplate"> 
    <Border Background="Transparent" Margin="0,0,0,10"> 
     <StackPanel Background="Transparent" HorizontalAlignment="Stretch"> 
      <TextBlock Text="{Binding Key}" Foreground="{Binding Key, Converter={StaticResource MY_FOREGROUND_CONVERTER}}" FontSize="48" FontFamily="{StaticResource PhoneFontFamilySemiLight}" HorizontalAlignment="Left" VerticalAlignment="Top"/> 
      <Rectangle Fill="{Binding Key, Converter={StaticResource MY_FILL_CONVERTER}}" Height="3"/> 
     </StackPanel> 
    </Border> 
</DataTemplate> 
+0

Идеальное решение, спасибо вам большое за это :) – user3316464