样式一个选定的ListBoxItem

33 浏览
0 Comments

样式一个选定的ListBoxItem

编辑:


    
        
            
                
                
                
                
            
            
                
                
            
        
    

我想要给ListBoxItem设置样式,使其在选中时具有蓝色背景和白色文本。我查看了许多在线答案,它们似乎都给出了相互矛盾的观点,而且目前为止都没有起作用。这是我的ListBox


    
        
            
        
    

这是我目前使用的样式,它没有起到任何作用:



然而,这样并没有对ListBoxItem进行任何样式设置。简单来说,我的问题是如何以最简单的方式为选中的ListBoxItem设置样式,使ListBox看起来像这样:enter image description here

0
0 Comments

问题:如何为选中的ListBoxItem添加样式?

原因:这个解决方案在Windows 10上不起作用,这意味着它从现在开始已经不再适用。这是由于Windows 10中的ListBoxItem控件模板与之前的版本不同。

解决方法:要解决这个问题,需要替换ListBoxItem的控件模板。可以参考以下两个问题的回答:

1. [WPF. ListBox item style](https://stackoverflow.com/questions/31470122)

2. [https://stackoverflow.com/a/35810145/424129](https://stackoverflow.com/a/35810145/424129)

在ListBox的ItemTemplate中,可以通过重写资源来改变选中项的背景颜色。以下是一个示例:


    
        
        
        
        
    
    
        
            
        
    

在上面的代码中,我们通过重写ListBox的资源来改变选中项的背景和文本颜色。可以全局地重写相同的资源,以保持一致的外观。

如果以上方法仍然无效,可能是由于其他影响ListBox或ListBoxItem的样式。可以尝试创建一个最小化的项目,并共享整个代码,以便进行更详细的调试。

要为选中的ListBoxItem添加样式,需要替换ListBoxItem的控件模板,并通过重写资源来改变选中项的背景和文本颜色。如果以上方法无效,可以尝试使用DataGrid来代替ListBox,并对DataGridRow进行样式设置。

0