WPF真入门教程12--ListView控件

       ListView 控件在Windows应用程序中常用,用于表示数据列表。如果您以前使用过 WinForms,那么您对ListView的实用性有一个很好的了解,但您应该意识到 WPF中的ListView 不像WinForms版本那样使用。再一次的主要区别在于,虽然WinForms ListView只是调用Windows API 函数来呈现常见的Windows ListView 控件,但WPF ListView是一个独立的控件,不依赖于 Windows API,WPF ListView以完全不同的方式处理项目图像、组及其子项目等内容。事实上,它看起来很像 WPF ListBox,直到您开始向它添加专门的视图。这并不奇怪,因为 ListView 直接从 ListBox 控件继承。因此,默认的ListView实际上只是一个ListBox,具有不同的选择模式。

今天开搞做一个比较综合的ListView示例(会要用到.net中的EF知识),主要包括以下功能: 

1) 查询功能。从数据库ucdos中的CarInfo表中读取车辆位置信息数据,然后展示到ListView上。

2) 数据联动功能。当鼠标左键选中ListView中的某一条记录时,在ListView框下面文本框中显示详细信息。

3) 修改功能。修改TextBox中的内容后,点击“更新”按钮,把修改后的数据保存到数据库中,同时与Listview联动

1、在SqlServer中创建数据库ucdos,创建表CarInfo,结构及内容如下:

WPF真入门教程12--ListView控件_第1张图片

2、在项目中添加文件夹control,然后添加窗口ListViewWin,并在App.xaml文件中设置启动文件为ListViewWin.xaml 

WPF真入门教程12--ListView控件_第2张图片

3、项目上右键,添加->新建项, 

WPF真入门教程12--ListView控件_第3张图片

WPF真入门教程12--ListView控件_第4张图片

最后在项目中出现EF相关的文件及类,如图 

WPF真入门教程12--ListView控件_第5张图片

 同时在项目的app.config自动添加了数据库的连接配置信息

WPF真入门教程12--ListView控件_第6张图片

 这里使用的是.NET中的Entity Framework 6技术,不清楚这块的请自备这方面知识

4、开始布局,用到了WrapPanel,StackPanel控件

说明:

如果是你经常做ASP.NET或是windows的开发,可能会形成一个习惯——直接从工具箱上把控件拖拽到需要的地方。 这样直接拖放控件的方式,VS会自动生成一个固定的坐标,但是这种方式在WPF中不推荐使用,在WPF中推荐使用  Canvas、StackPanel、WrapPanel、DockPanel和Grid面板组合使用来组装界面。 

对于WPF的界面布局,有以下几点建议:

第一、控件的布局应该有容器来决定,而不是通过控件的margin属性来控制位置。 

第二、控件应避免明确的定义具体的尺寸,因为显示器分辨率及windows窗体的大小都有可能随时改变,如果明确的定义尺寸。 

当窗体变动后就会出现大面积的空白或是缺失。但为了控件功能及效果的展示,应该限定一个可接受的最大及最小尺寸。 

通过MinWidth, MinHeight, MaxWidth, MaxHeight属性可以实现这一点。

第三、由于现在显示器分辨率非常多(1366×768、1600×900、、1980×1080等等),如果将界面元素位置设置成与屏幕坐标相关,这样做的话是会有风险的。 

第四、容器应将有效空间共享给其子控件,这也是为了不在窗体调整后,遗留出大块的空余。 

第五、容器嵌套使用,因为不同的容器,表现效果不同,必要时应结合使用。

最外面的Grid容器分为三行,每行分别放listview,WrapPanel,WrapPanel,具体代码如下:

        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:WpfApp6.control"
        mc:Ignorable="d"
        Title="ListViewWin" Height="450" Width="800">
   
       
           
           
           
       

       
           
               
                   
                   
                   
                   
                   
                   
                   
                       
                       
                           
                               
                           

                       

                   
 
               

           
 
       

       
       
           
               
               
           

           
               
               
           

           
               
               
           

           
               
               
           

           
               
               
           

       

       
           

你可能感兴趣的:(WPF真入门教程,wpf,windows,microsoft,数据库)