我很难理解XAML如何与C#相关联。
我的问题是,我有两个不同的List<String>
对象填充内容,我希望一个List<String>
具有背景颜色&#39;蓝色&#39;另一个有背景颜色&#39;红色&#39;。之后我想在ListBox
我的XAML ListBox代码:
<ListBox x:Name="ListBox1" HorizontalAlignment="Left" Height="240" Margin="81,80,0,0" VerticalAlignment="Top" Width="321" BorderBrush="#FF6C6C6C" SelectionMode="Single" SelectionChanged="ListBoxSelectionChanged">
</ListBox>
我的C#代码将所有内容加载到ListBox
public void AddItemsToListBox()
{
foreach (var object1 in objects1)
{
//I want these Objects to be blue
listBox1.Items.Add(object1.label);
}
foreach (var object2 in objects2)
{
//I want these Objects to be red
listBox1.Items.Add(object2.label);
}
}
答案 0 :(得分:4)
你走了:
foreach (var object1 in objects1)
{
Thread.Sleep(1);
listBox1.Items.Add(new ListBoxItem { Content = object1.label, Background = Brushes.Blue });
}
foreach (var object2 in objects2)
{
Thread.Sleep(1);
ListBox2.Items.Add(new ListBoxItem { Content = objects2.label, Background = Brushes.Red });
//I want these Objects to be red
}
更好的方法是使用数据绑定,样式等。
答案 1 :(得分:0)
需要50个评论的声誉,所以添加为答案
为什么你不能在xaml中做到这一点?
<ListBox x:Name="ListBox1" Background="Red">
</ListBox>
只需添加背景属性,这会为列表框着色
但是如果你想在wpf上变得更好我建议学习DATABINDING,这样你就不需要手动将对象添加到列表框中
然后再看看MVVM