Comment définir la couleur de premier plan de l'élément de zone de liste

J'ai une zone de liste dans un WP7 page de l'application qui-je lier à une collection (Liste) d'un objet personnalisé appelé Emplacement. Dans cet objet est un champ appelé de l'OMM et de ce que je veux faire quand la zone de liste des charges est de définir la foregound couleur de tout ce lié listbox élément a la même valeur que ma valeur par défaut... mais je n'arrive pas à le faire fonctionner et rien de ce que j'ai lu ou googlé a aidé.

Je sais que les éléments de la liste sont liés à la source de données, mais je veux arriver à la représentation physique de l'élément et modifiez la couleur d'avant-plan.... juste ne peux pas savoir comment je le faire donc si quelqu'un peut aider je vous en serais reconnaissant.

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="0,0,0,0" >
    <ScrollViewer Height="615"  HorizontalAlignment="Left" Margin="5,5,5,5" Name="scrollViewer1" VerticalAlignment="Top">
        <ListBox Name="lbxSavedLocs" Height="615" FontSize="22" HorizontalAlignment="Left" VerticalAlignment="Top" Width="470" SelectionChanged="lbxSavedLocs_SelectionChanged" Loaded="lbxSavedLocs_Loaded">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Width="380" Text="{Binding SiteName}" HorizontalAlignment="Left" />
                        <TextBlock Width="90" Text="{Binding WMO}" HorizontalAlignment="Center" />
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </ScrollViewer>
</Grid>
private void lbxSavedLocs_Loaded(object sender, RoutedEventArgs e)
{
    //Populate the listbox from our saved locations.
    lbxSavedLocs.ItemsSource = gl.savedLocs.OrderBy(x => x.SiteName);

    foreach (Location itm in lbxSavedLocs.Items)
    {
        if (loc.WMO == gl.defaultWMO)
        {
          //GET AN "INVALID CAST" EXCEPTION HERE:
          ((ListBoxItem)itm).Foreground  = new SolidColorBrush(Color.FromArgb(255, 255, 255, 255));
        }
    }

    //Hopefully this produces a redraw of the ListBox.
    lbxSavedLocs.InvalidateArrange();
}

OriginalL'auteur nzmike | 2011-02-10