WPF listview如何在行列之间添加分割线,类似DataGrid的效果
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF listview如何在行列之间添加分割线,类似DataGrid的效果相关的知识,希望对你有一定的参考价值。
参考技术A <ListView><ListView.ItemTemplate>
<DataTemplate>
<Border BorderBrush="Black" BorderThickness="0,0,0,1">
<TextBlock Text="your datas of each item "/>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>追问
这个……我肯定不是仅仅实现这个效果。ListView的View的Gridview,让每一项都加上表格,而且要和表头对其的
追答你在listview 的headTemplate 里面加入一个 Grid 定义好Grid里面的每一列的宽度。
在ListView的ItemTemplate中定义一个Grid让它每一列的宽度和HeadTemplate里面的Grid一样将就可以了。
对于这一块我嫌比较麻烦,所以自己开发了一个可视化控件(可以在blend里面编辑和绑定数据),但是没有写相关的文档(仅仅是自己用也足够),所以这里也就不发出来了。
我在里面加了树形的展开。用DataGrid弄不了。TreeView和ListView合起来的,但是这个想显示下表格真的弄不出来。
追答树形的展开可以在datagrid弄的啊。datagrid既可以有分组的功能还有展示RowDetails的功能,比listview功能强大,修改外观也方便很多。
追问那个分组我试了,不是很好看,而且我要和后面的一个图形交互。用datagrid不是很方便。我再试试。谢谢
本回答被提问者采纳wpf ListView 中checkBox全选 如何实现?
参考技术A 提供两种方法:1.如果是手动添加数据,只能通过循环实现
2.如果是根据类实现的数据绑定,只要在类中添加一个bool变量,默认值为true,绑定到checkbox就ok。这种情况下可以通过让类继承INotifyPropertyChanged 类的列表继承ObservableCollection实现。
附上一段代码,看不懂百度HI我。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Collections.ObjectModel;
namespace AddrBook
public class People : INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String propName)
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propName));
private string name = string.Empty;
public string Name
get return name;
set
if (name == value)
return;
else
name = value;
NotifyPropertyChanged("Name");
private string phonenum = string.Empty;
public string PhoneNum
get return phonenum;
set
if (phonenum == value)
return;
else
phonenum = value;
NotifyPropertyChanged("PhoneNum");
private bool? ischecked = false;
public bool? IsChecked
get return ischecked;
set
if (ischecked == value)
return;
else
ischecked = value;
NotifyPropertyChanged("IsChecked");
public class Person : ObservableCollection<People>
public class Group : INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String propName)
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propName));
private string groupname;
public string GroupName
get return groupname;
set
if (groupname == value)
return;
else
groupname = value;
NotifyPropertyChanged("GroupName");
private Person groupmember = new Person();
public Person GroupMember
get return groupmember;
set
if (groupmember == value)
return;
else
groupmember = value;
NotifyPropertyChanged("GroupMember");
private int membercount = 0;
public int MemberCount
get return membercount;
set
if (membercount == value)
return;
else
membercount = value;
NotifyPropertyChanged("MemberCount");
private bool? ischecked = false;
public bool? IsChecked
get return ischecked;
set
if (ischecked == value)
return;
else
ischecked = value;
NotifyPropertyChanged("IsChecked");
NotifyMember(ischecked);
private void NotifyMember(bool? ischeck)
if (groupmember.Count > 0)
foreach (People p in groupmember)
p.IsChecked = ischeck;
public class GroupList : ObservableCollection<Group>
还是给你整个文件吧追问
你把你那个发给我嘛。 我QQ1078669816,麻烦了
追答这个真不可以。这可是我们要做的项目。功能代码可以给你。整个程序是不行的。有什么不懂的可以问我。我们公司封QQ。只能百度Hi聊
以上是关于WPF listview如何在行列之间添加分割线,类似DataGrid的效果的主要内容,如果未能解决你的问题,请参考以下文章