热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

WPF列表视图高亮显示颜色不变-WPFListViewHighlightColordon'tchange

IhaveaListViewwiththreeTextBlockforeachItem.Thefirstonehasthedefaultcolor(black)an

I have a ListView with three TextBlock for each Item. The first one has the default color (black) and the others has the property Foreground set to gray.

我有一个列表视图,每个条目有三个文本块。第一个具有默认颜色(黑色),其他的属性前台设置为灰色。

When I select an item the color of the first TextBlock becomes blue but the others stay gray and are hard to read.

当我选择一个条目时,第一个文本块的颜色变为蓝色,而其他文本块则保持灰色,难以阅读。

I want that all the text become white color when the item is selected. How I do that ?

我希望所有的文本在被选中时都变成白色。我该怎么做呢?

Edit : My style :

编辑:我的风格:

 
        
        
    

My ListView

我的列表视图

        
        
            
                
                    
                        
                        
                        
                        
                    
                    
                    
                    

                
            
        
    

I also tried things like

我也尝试过类似的东西



EDIT 2 : I have discovered that the custom style changes the color of Textblock which have the default property as Foreground (black). If I specife Black for the color of the text of the first textblock, the text doesn't change anymore of color when the item is selected.

编辑2:我发现自定义样式改变了Textblock的颜色,它的默认属性为前台(黑色)。如果我指定黑色作为第一个文本块的文本的颜色,那么当该项被选中时,文本不会再改变颜色。

Picture : enter image description here

图片:

3 个解决方案

#1


4  

You could achieve what you are trying to do by converting your code from having DataTemplate for a ListViewItem to having a ControlTemplate

您可以通过将代码从DataTemplate转换为ListViewItem以获得一个ControlTemplate来实现您正在尝试做的事情。

This is what I tried:

这就是我所尝试的:

ListViewItem Style:

ListViewItem风格:


and then I removed DataTemplate from the ListView XAML:

然后我从ListView XAML中移除DataTemplate:



However, if you must use DateTemplate, then what you could do is have a property called IsSelected on your ViewModel, ResultatRechercheViewModel and then have DataTriggers on that property in your DataTemplate.

但是,如果您必须使用DateTemplate,那么您可以在您的ViewModel、ResultatRechercheViewModel上选择一个名为IsSelected的属性,然后在您的DataTemplate中拥有该属性的DataTriggers。

Updated DataTemplate:

更新DataTemplate:


    
        
            
                
                
                
                
            
            
            
            

        
        
            
                
                
            
        
    

And, you need to update your ViewModel code to set IsSelected property, Below is code from my MainViewModel:

您需要更新您的ViewModel代码来设置IsSelected属性,以下是我的MainViewModel代码:

public ResultatRechercheViewModel ResultatSelectione
{
    get { return _resultatSelectione; }
    set
    {
        if (_resultatSelectione != null)
        {
            _resultatSelectione.IsSelected = false;
        }

        _resultatSelectiOne= value;

        _resultatSelectione.IsSelected = true;
    }
}

Hope this resolves your problem or gives you some ideas to resolve your problem.

希望这能解决你的问题或给你一些解决问题的想法。

#2


3  

Try this syntax

试试这个语法


    
        
        
    
    ...

#3


0  

Foreground Try use style for listView items:

前台尝试使用样式为listView项:

 
 

推荐阅读
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • 本文介绍了在实现了System.Collections.Generic.IDictionary接口的泛型字典类中如何使用foreach循环来枚举字典中的键值对。同时还讨论了非泛型字典类和泛型字典类在foreach循环中使用的不同类型,以及使用KeyValuePair类型在foreach循环中枚举泛型字典类的优势。阅读本文可以帮助您更好地理解泛型字典类的使用和性能优化。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 集合的遍历方式及其局限性
    本文介绍了Java中集合的遍历方式,重点介绍了for-each语句的用法和优势。同时指出了for-each语句无法引用数组或集合的索引的局限性。通过示例代码展示了for-each语句的使用方法,并提供了改写为for语句版本的方法。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • php缓存ri,浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
    thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法。本文是小编日常整理有关thinkp ... [详细]
  • 广度优先遍历(BFS)算法的概述、代码实现和应用
    本文介绍了广度优先遍历(BFS)算法的概述、邻接矩阵和邻接表的代码实现,并讨论了BFS在求解最短路径或最短步数问题上的应用。以LeetCode中的934.最短的桥为例,详细阐述了BFS的具体思路和代码实现。最后,推荐了一些相关的BFS算法题目供大家练习。 ... [详细]
  • 可空类型可空类型主要用于参数类型声明和函数返回值声明。主要的两种形式如下: ... [详细]
author-avatar
爱在明天2502870673
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有