我正在尝试更改列表框中所选项目的背景颜色 . 它会改变背景颜色但下次如果我选择另一个项目,则前一个选定项目的背景颜色应设置为null或default .
列表框名称是lstContacts .
private void lstContacts_SelectionChanged(object sender,SelectionChangedEventArgs e)
lstContacts.ClearValue(ListBox.BackgroundProperty);//its not working
ListBoxItem item = lstContacts.ItemContainer.ContainerFromItem(lstContacts.SelectedItem) as ListBoxItem;
item.Background = new SolidColorBrush(Colors.Red);
谁能帮我?
3 回答
利用项目的索引
这很简单 . 在更改其他项目的背景颜色之前,请重置整个列表视图背景颜色 .
然后继续
无论何时选择,所选项目都已经设置了背景颜色,无论是以编程方式还是通过点击项目 .
如何设置所选项目的背景颜色?你为
ListBox
更改了ControlTemplate
吗?