wpf treeview 之 整行选中 效果

wpf 原生的 treeview 选中效果只能选中contentpresenter部分 如图:

image 

要实现的效果如图:

image

主要的点在于

1.treeviewitem的 模板结构修改达到 统一背景颜色和填充长度

2.处理由于子节点的向右偏移造成的 背景色填充不够,如图:

image

这种情况就是由于 模板中的ItemsPresenter 在布局中第二列造成的,由于item包含的item 初始位置就在于顶级的第二列所以 一次会偏移一个第一列宽度。

解决:

百度了一下 ,发现一篇帖子讲如何实现,主要原理是在布局中取消掉层级间的缩进,来实现每一级的背景色都可以填充到最左边,然后通过代码记录item的级别然后计算偏移,偏移项目。但是我觉得这样太麻烦了 所以就写了一个取巧的纯xaml的方式。上代码

<Style TargetType="{x:Type TreeViewItem}">
            <Setter Property="Foreground" Value="#FFF0F0F0"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值