這可能很容易,但我不知道從哪裏開始。我解析XML值並將它們綁定到列表框;爲了更好的界面,我希望我的項目以不同的背景顏色顯示。 Item1的背景色爲綠色,Item2的背景色爲白色,item3的bg爲綠色,item4爲白色等。wp7中的自定義列表框
列表框 項目1:BG綠色 項目2:BG白色 項目3:BG綠色 項目4:BG白色
我應該採取什麼方法來實現這一目標? 我的代碼如下:
<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;
}
}
感謝一大堆!
這是指ColorConverter而不是ColorFormatter?什麼是指數以及指數如何傳遞給課堂以獲得顏色? –
我在網上看到,我們必須添加命名空間和東西,我不知道如何做到這一點?你能幫我澄清一下嗎? –