2021-08-11 WPF控件专题 ListView控件详解

2021-08-11 WPF控件专题 ListView控件详解1 ListView 控件介绍 ListboxCombo 条目控件 WinformListV 用于显示数据项的列表 DataGrid ListBox 组织数据的结构和样式显示数据 View GridView ListView 控件的以列形式显示数据项的 视图模式 GridView 属性 ColumnsColum

1.ListView控件介绍

Listbox ComboBox TabControl ItemsControl 条目控件

Winform ListView 5View

将数据显示到ListView — 数据绑定(ItemsSource 后台代码指定 Xaml代码中设置)

定义GridView 列集合

UserInfos 显示到ListView

2.具体案例

<Window x:Class="WpfAppTest.ListViewWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfAppTest" mc:Ignorable="d" Title="ListViewWindow" Height="450" Width="800" Loaded="Window_Loaded"> <Grid> <ListView Name="lvList" HorizontalAlignment="Left" Height="228" Margin="88,133,0,0" VerticalAlignment="Top" ItemsSource="{Binding}" > <ListView.View> <GridView> <GridViewColumn> <GridViewColumn.Header> <CheckBox Name="chkAll" Content="全选" /> </GridViewColumn.Header> <GridViewColumn.CellTemplate> <DataTemplate> <CheckBox Name="chk" Tag="{Binding UserId}" IsChecked="{Binding ElementName=chkAll,Path=IsChecked,Mode=OneWay}"/> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn Header="编号" DisplayMemberBinding="{Binding UserId}" Width="50"> <GridViewColumn.HeaderTemplate> <DataTemplate> <Label Content="{Binding}" Foreground="Red" BorderThickness="1" BorderBrush="YellowGreen" /> </DataTemplate> </GridViewColumn.HeaderTemplate> </GridViewColumn> <GridViewColumn Header="账号" Width="80"> <GridViewColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding UserName}" Foreground="YellowGreen" HorizontalAlignment="Left" Width="60" /> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn Header="状态" DisplayMemberBinding="{Binding UserState}" Width="50"/> <GridViewColumn Header="部门编号" DisplayMemberBinding="{Binding DeptId}" Width="60"/> <GridViewColumn Header="年龄" DisplayMemberBinding="{Binding UserAge}" Width="50"/> </GridView> </ListView.View> </ListView> </Grid> </Window> 
///  /// ListViewWindow.xaml 的交互逻辑 ///  public partial class ListViewWindow : Window { 
    public ListViewWindow() { 
    InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { 
    //代码设置ItemsSource // lvList.ItemsSource = GetUserList(); lvList.DataContext = GetUserList(); } ///  /// 获取用户信息列表 ///  /// 
    private List<UserInfo> GetUserList() { 
    List<UserInfo> list = new List<UserInfo>(); string sql = "select UserId,UserName,UserState,UserAge,DeptId from UserInfos where DeptId>0"; SqlDataReader dr = SqlHelper.ExecuteReader(sql, 1); while(dr.Read()) { 
    UserInfo user = new UserInfo(); user.UserId = (int)dr["UserId"]; user.UserName = dr["UserName"].ToString(); user.UserState = (int)dr["UserState"]; user.UserAge = (int)dr["UserAge"]; user.DeptId = (int)dr["DeptId"]; list.Add(user); } dr.Close(); return list; } } public class UserInfo { 
    public int UserId { 
    get; set; } public string UserName { 
    get; set; } public int UserState { 
    get; set; } public int UserAge { 
    get; set; } public int DeptId { 
    get; set; } } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217145.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午10:14
下一篇 2026年3月18日 上午10:15


相关推荐

  • C++ 指针引用 *&

    C++ 指针引用 *&文章目录指针引用的作用示例仅一级指针实现二级指针实现指针引用实现指针引用的作用指针引用 amp 可以替代二级指针 使用时 更简单 可以被重新赋值 示例如下示例 要求在 func p 中 m value 值和参数 p 指代的实际内容值相同 且之后 m value 值的改变 会影响 p 的实际内容 仅一级指针实现 include iostream iostream

    2026年3月19日
    1
  • zigbee协议栈初使用(二)按键控制「建议收藏」

    zigbee协议栈初使用(二)按键控制「建议收藏」zigbee协议栈初使用(二)按键控制1、在hal_key.c中修改按键端口2、修改hal_board_cfg.h3、修改OnBoard.c,文件在ZMain.c目录下4、回到SampleApp.c,找到按键事件处理函数5、进入SampleApp_HandleKey()函数,此处是按键处理,按下按键需要做的事件放在这添加如下代码:此处…

    2022年5月8日
    67
  • 电源设计LDO和DCDC[通俗易懂]

    电源设计LDO和DCDC[通俗易懂]欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗Ctrl+B斜体Ctrl+I引用Ctrl

    2022年5月29日
    39
  • linux抓包教程_ubuntu抓包命令

    linux抓包教程_ubuntu抓包命令linux抓捕网络包jacky.1650727278@@q.comtcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是centos7。tcpdump的命令格式tcpdump的参数众多,通过mantcpdump可以查看tcpdump的详细说明,这边只列一些笔者自己常用的参数:tcpdump[-i网卡]-nnAX‘表达式’各参数说明…

    2022年10月11日
    4
  • 巴什博弈

    巴什博弈

    2021年9月2日
    96
  • autoit3转换php,AutoIt3处理字符串和数组

    autoit3转换php,AutoIt3处理字符串和数组1 字符串和数组应用 include 字符串的大小写转换 str01 abdcefg result01 StringUpper str01 result02 StringLower result01 MsgBox 64 大小写转换结果 大写 amp result01 amp Chr 13 amp 小写 amp result02

    2025年12月15日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号