我很难理解XAML如何与C#连接。 我的问题是,我有两个不同的List<String>
对象充满内容,我想要一个List<String>
背景颜色'蓝色',另一个背景颜色'红色'。后来,我想在我的ListBox
以编程方式更改列表框项目背景颜色
我的XAML列表框代码来显示它:
<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 partial class MainWindow : Window
{
public void AddItemsToListBox()
{
foreach (var object1 in objects1)
{
Thread.Sleep(1);
listBox1.Items.Add(object1.label);
//I want these Objects to be blue
}
foreach (var object2 in objects2)
{
Thread.Sleep(1);
ListBox2.Items.Add(object2.label);
//I want these Objects to be red
}
}
}
请参阅[此答案](http://stackoverflow.com/a/18982258/1997232)。在WPF中,你必须使用绑定,这样做'Items.Add()' - 已经过时了。而'Thread.Sleep(1)'很臭。你可以使用'async/await'和'await Task.Delay()'来避免拖延UI。 – Sinatr