Это может быть легко, но я понятия не имею, с чего начать.Я анализирую значение XML и привязываю их к списку;для лучшего интерфейса я хочу, чтобы мой элемент отображался в разных цветах фона.Item1 имеет фоновый цвет зеленый, Item2 имеет цвет фона белый, item3 имеет bg зеленый, item4 белый и т. Д.
Какой подход я должен использовать для достижения этой цели?Мой код, как показано ниже:
<ListBox Name="listbox1" Height="502" Width="448">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="15,10,25,10" OpacityMask="#FF33A82D" Background="#FFBEFFBE" Width="480">
<Image x:Name="imageAV" Source="Images/album_art_default_small.png" Height="100" Width="100"
Stretch="UniformToFill" Margin="0,0,15,0" />
<StackPanel Orientation="Vertical" VerticalAlignment="Center">
<TextBlock Text="{Binding track}" FontWeight="Bold" Width="Auto" Margin="0,0,0,5" Foreground="Black" />
<TextBlock Text="{Binding artist}" Width="Auto" Foreground="Black"/>
<TextBlock Text="{Binding album}" Width="Auto" Foreground="Black"/>
<StackPanel.Background>
<SolidColorBrush />
</StackPanel.Background>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
код:
void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
using (var reader = new StreamReader(e.Result))
{
int[] counter = { 1 };
string s = reader.ReadToEnd();
Stream str = e.Result;
str.Position = 0;
XDocument xdoc = XDocument.Load(str);
var data = from query in xdoc.Descendants("rank")
select new ranking
{
index = counter[0]++,
// avlink = (string)query.Element("album_gdo").Element("avlink"),
album = (string)query.Element("album"),
track = (string)query.Element("track"),
artist = (string)query.Element("artist"),
};
// lb1.ItemsSource = data;
listbox1.ItemsSource = data;
}
}
Спасибо, куча!