WPF-Gridview 控件
GridView 是一种按行和列显示数据项的控件。 实际上ListView显示数据。 默认情况下,它包含一个 GridView。 GridView类的层次继承如下−

序号 | 属性和描述 |
---|---|
1 | Background 获取或设置提供控件背景的画笔。 (继承自Control) |
2 | BorderThickness 获取或设置控件的边框粗细。 (继承自Control) |
3 | DataContext 获取或设置 FrameworkElement 参与数据绑定时的数据上下文。 (继承自FrameworkElement) |
4 | FontFamily 获取或设置用于在控件中显示文本的字体。 (继承自Control) |
5 | FontSize 获取或设置此控件中文本的大小。 (继承自Control) |
6 | FontStyle 获取或设置文本呈现的样式。 (继承自Control) |
7 | FontWeight 获取或设置指定字体的粗细。 (继承自Control) |
8 | Foreground 获取或设置描述前景色的画笔。 (继承自Control) |
9 | GroupStyle 获取 GroupStyle 对象的集合,这些对象定义每个级别的组的外观。 (继承自ItemsControl) |
10 | Header 获取或设置列表标题的内容。 (继承自ListViewBase) |
11 | Height 获取或设置 FrameworkElement 的建议高度。 (继承自FrameworkElement) |
12 | HorizontalAlignment 获取或设置在布局父级(例如面板或项目控件)中组合 FrameworkElement 时应用于该 FrameworkElement 的水平对齐特征。 (继承自FrameworkElement) |
13 | HorizontalContentAlignment 获取或设置控件内容的水平对齐方式。 (继承自Control) |
14 | Items 获取用于生成控件内容的集合。 (继承自ItemsControl) |
15 | ItemsSource 获取或设置用于生成 ItemsControl 内容的对象源。 (继承自ItemsControl) |
16 | ItemTemplate 获取或设置用于显示每个项目的 DataTemplate。 (继承自ItemsControl) |
17 | Margin 获取或设置 FrameworkElement 的外边距。 (继承自FrameworkElement) |
18 | Name 获取或设置对象的标识名称。 当 XAML 处理器从 XAML 标记创建对象树时,运行时代码可以通过该名称引用 XAML 声明的对象。 (继承自FrameworkElement) |
19 | Opacity 获取或设置对象的不透明度程度。 (继承自UIElement) |
20 | Resources 获取本地定义的资源字典。 在 XAML 中,您可以通过 XAML 隐式集合语法将资源项建立为 FrameworkElement.Resources 属性元素的子对象元素。 (继承自FrameworkElement) |
21 | SelectedIndex 获取或设置所选项目的索引。 (继承自Selector) |
22 | SelectedItem 获取或设置选定的项目。 (继承自Selector) |
23 | SelectedItems 获取当前选定的项目。 (继承自ListViewBase) |
24 | SelectedRanges 获取 ItemIndexRange 对象的集合,这些对象描述列表中当前选定的项目。 (继承自ListViewBase) |
25 | SelectedValue 获取或设置所选项目的值,通过使用 SelectedValuePath 获得。 (继承自选择器) |
26 | Style 获取或设置在布局和渲染期间应用于此对象的实例 Style。 (继承自FrameworkElement) |
27 | VerticalAlignment 获取或设置在父对象(例如面板或项控件)中组成 FrameworkElement 时应用于该 FrameworkElement 的垂直对齐特征。 (继承自FrameworkElement) |
28 | VerticalContentAlignment 获取或设置控件内容的垂直对齐方式。 (继承自Control) |
29 | Width 获取或设置 FrameworkElement 的宽度。 (继承自FrameworkElement) |
序号 | 事件和描述 |
---|---|
1 | DataContextChanged 当 FrameworkElement.DataContext 属性的值更改时发生。 (继承自FrameworkElement) |
2 | DragEnter 当输入系统报告以此元素为目标的基础拖动事件时发生。 (继承自UIElement) |
3 | DragLeave 当输入系统报告以此元素为原点的基础拖动事件时发生。 (继承自UIElement) |
4 | DragOver 当输入系统报告将此元素作为潜在放置目标的基础拖动事件时发生。 (继承自UIElement) |
5 | DragStarting 启动拖动操作时发生。 (继承自UIElement) |
6 | Drop 当输入系统报告将此元素作为放置目标的基础放置事件时发生。 (继承自UIElement) |
7 | ImageFailed 当存在与图像检索或格式相关的错误时发生。 |
8 | ImageOpened 当图像源下载并解码成功时发生。 您可以使用此事件来确定图像源的自然大小。 |
9 | KeyDown 当 UIElement 具有焦点时按下键盘按键时发生。 (继承自UIElement) |
10 | KeyUp 当 UIElement 具有焦点时释放键盘按键时。 (继承自UIElement) |
序号 | 方法及描述 |
---|---|
1 | Arrange 定位子对象并确定 UIElement 的大小。 为其子元素实现自定义布局的父对象应从其布局覆盖实现中调用此方法,以形成递归布局更新。 (继承自UIElement) |
2 | ClearValue 清除依赖属性的本地值。 (继承自DependencyObject) |
3 | FindName 检索具有指定标识符名称的对象。 (继承自FrameworkElement) |
4 | GetValue 从 DependencyObject 返回依赖属性的当前有效值。 (继承自DependencyObject) |
5 | ReadLocalValue 如果设置了本地值,则返回依赖项属性的本地值。 (继承自DependencyObject) |
6 | SetBinding 使用提供的绑定对象将绑定附加到 FrameworkElement。 (继承自FrameworkElement) |
7 | SetValue 设置 DependencyObject 上的依赖属性的本地值。 (继承自DependencyObject) |
示例
让我们举个例子来更好地理解这个概念。 首先创建一个名为 WPFGridView 的新 WPF 项目。
从工具箱中拖动网格视图控件。
以下示例显示网格状表格中的数据。
以下 XAML 代码创建并实现 GridView。
<Window x:Class = "WPFGridView.MainWindow" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" Title = "MainWindow" Height = "350" Width = "525"> <Grid> <ListView HorizontalAlignment = "Left" Height = "299" Margin = "10,10,0,0" VerticalAlignment = "Top" Width = "497"Name = "MenList"> <ListView.View> <GridView> <GridViewColumn Header = "Name" DisplayMemberBinding = "{Binding Name}" Width = "100"/> <GridViewColumn Header = "ID" DisplayMemberBinding = "{Binding ID}" Width = "100"/> <GridViewColumn Header = "Age" DisplayMemberBinding = "{Binding Age}" Width = "100"/> </GridView> </ListView.View> </ListView> </Grid> </Window>
这里是 C# 实现,其中实现了 person 类。
using System; using System.Windows; using System.Windows.Controls; namespace WPFGridView { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); MenList.Items.Add(new Person() {Name = "Ali", ID = "123A", Age = 20 }); MenList.Items.Add(new Person() {Name = "Akram",ID= "456X", Age = 35 }); MenList.Items.Add(new Person() {Name = "Salman",ID="333E", Age = 49 }); } } class Person { public string Name { get; set; } public string ID { get; set; } public int Age { get; set; } } }
当您编译并执行上述代码时,将产生以下输出。

我们建议您执行上面的示例代码并尝试 GridView 的其他属性和事件。