2018-8-10-win10-uwp-dataGrid
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
win10 uwp dataGrid
|
lindexi
|
2018-08-10 19:16:51 +0800
|
2018-2-13 17:23:3 +0800
|
Win10 UWP
|
本文告诉大家如何在 UWP 使用 DataGrid ,提供两个方法使用。
Microsoft.Toolkit.Uwp.UI.Controls.DataGrid
这是比较推荐的库,使用也很简单
安装
首先需要通过 Nuget 搜索 Microsoft.Toolkit.Uwp.UI.Controls.DataGrid 安装
界面
xaml:
先引用库
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
然后写 DataGrid,需要的代码很少
<controls:DataGrid x:Name="DataGrid" Margin="100,10,10,10" >
</controls:DataGrid>
这时就可以尝试按 F5 运行代码,虽然只有什么都没有的表
设置数据
在设置数据之前,需要先定义一个类作为数据,下面定义 Foo ,里面只有两个属性
public class Foo
{
public string Name { get; set; } public string Url { get; set; }
}
通过 DataGrid.ItemsSource 可以给数据
DataGrid.ItemsSource = new List<Foo>()
{
new Foo()
{
Name = "lindexi",
Url = "lindexi.gitee.io"
}
};
这句代码需要写在构造,但是需要在 InitializeComponent 之后
public MainPage()
{
this.InitializeComponent(); DataGrid.ItemsSource = new List<Foo>()
{
new Foo()
{
Name = "lindexi",
Url = "lindexi.gitee.io"
}
};
}
尝试按下F5,可以看到这个界面
也就是不需要写代码就可以自动创建表格,因为默认的 AutoGenerateColumns 就是 true ,如果需要自定义表头,请看下面
自定义
因为大家都不希望显示表头就是属性名,所以需要定义表格
首先需要关闭自动生成
<controls:DataGrid x:Name="DataGrid" Margin="100,10,10,10" AutoGenerateColumns="False" d:DataContext="{d:DesignInstance local:Foo}">
</controls:DataGrid>
然后在使用 DataGridTextColumn 写出一行
<controls:DataGrid x:Name="DataGrid" Margin="100,10,10,10" AutoGenerateColumns="False" d:DataContext="{d:DesignInstance local:Foo}">
<controls:DataGrid.Columns>
<controls:DataGridTextColumn Header="名字" Binding="{Binding Name}"/>
<controls:DataGridTextColumn Header="网站" Binding="{Binding Url}"/>
</controls:DataGrid.Columns>
</controls:DataGrid>
现在按下 F5 ,可以看到下面界面
属性
下面是一些其他的设置
GridLinesVisibility
是否显示表格线,如果设置为 None ,那么除了表头,其他地方都不显示表格线
如果设置为 Horizontal 就显示水平的表格线,如下图
还可以设置为 Vertical 只显示水平表格线,和设置 All 显示水平和垂直的表格线
交替行
通过 AlternateRowBackground 可以设置交替行的背景,下面会设置AlternatingRowBackground="LightGray"让第二行背景修改
<controls:DataGrid x:Name="DataGrid" Margin="100,10,10,10" AutoGenerateColumns="False" d:DataContext="{d:DesignInstance local:Foo}" GridLinesVisibility="Vertical" AlternatingRowBackground="LightGray">
<controls:DataGrid.Columns>
<controls:DataGridTextColumn Header="名字" Binding="{Binding Name}"/>
<controls:DataGridTextColumn Header="网站" Binding="{Binding Url}"/>
</controls:DataGrid.Columns>
</controls:DataGrid>
多选
通过设置 SelectionMode = Extended 可以支持多选,通过设置 SelectionMode 可以设置单选
其他的属性,大家试试就知道
请看:DataGrid XAML Control - Windows Community Toolkit
表格控件
我们先要知道我说的是哪个?
其实DataGrid就是表格控件,本文就是告诉大家如何做一个UWP 表格控件
一开始我是改ListView,ListView有个问题,就是你设置他的宽度实际是很小,这个如何做?
其实简单UWP ListView宽度过小,可以通过下面代码修改
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment"
Value="Stretch"></Setter>
</Style>
</ListView.ItemContainerStyle>
我们这个问题还可以做ListView对齐,ListBox内容对齐,ListBox宽度过小的解决
这样我们手动写表格,手动写表格宽度不好做,因为我们需要都是固定宽度
参见:http://www.cnblogs.com/FaDeKongJian/p/5860148.html
看到国内一个大神写的:https://github.com/zmtzawqlp/UWP-master/commits/master
现在可以使用: https://github.com/MyToolkit/MyToolkit/wiki/DataGrid
国外 https://liftcodeplay.com/2015/10/24/datagrid-alternatives-in-uwp/
需要钱的:https://www.syncfusion.com/products/uwp/sfdatagrid
2018-8-10-win10-uwp-dataGrid的更多相关文章
- win10 uwp 使用 Microsoft.Graph 发送邮件
在 2018 年 10 月 13 号参加了 张队长 的 Office 365 训练营 学习如何开发 Office 365 插件和 OAuth 2.0 开发,于是我就使用 UWP 尝试使用 Micros ...
- Win10 UWP开发实现Bing翻译
微软在WP上的发展从原来的Win7到Win8,Win8.1,到现在的Win10 UWP,什么是UWP,UWP即Windows 10 中的Universal Windows Platform简称.即Wi ...
- Win10/UWP开发—使用Cortana语音与App后台Service交互
上篇文章中我们介绍了使用Cortana调用前台App,不熟悉的移步到:Win10/UWP开发—使用Cortana语音指令与App的前台交互,这篇我们讲讲如何使用Cortana调用App的后台任务,相比 ...
- Win10 UWP应用发布流程
简介 Win10 UWP应用作为和Win8.1 UAP应用不同的一种新应用形式,其上传至Windows应用商店的流程也有了一些改变. 这篇博文记录了我们发布一款Win10 UWP应用的基本流程,希望为 ...
- win10 uwp 列表模板选择器
本文主要讲ListView等列表可以根据内容不同,使用不同模板的列表模板选择器,DataTemplateSelector. 如果在 UWP 需要定义某些列的显示和其他列不同,或者某些行的显示和其他行不 ...
- win10 uwp 获得元素绝对坐标
有时候需要获得一个元素,相对窗口的坐标,在修改他的位置可以使用. 那么 UWP 如何获得元素坐标? 我提供了一个方法,可以获得元素的坐标. 首先需要获得元素,如果没有获得元素,那么如何得到他的坐标? ...
- win10 uwp 毛玻璃
毛玻璃在UWP很简单,不会和WPF那样伤性能. 本文告诉大家,如何在 UWP 使用 win2d 做毛玻璃. 毛玻璃可以使用 win2D 方法,也可以使用 Compositor . 使用 win2d 得 ...
- win10 uwp 读取保存WriteableBitmap 、BitmapImage
我们在UWP,经常使用的图片,数据结构就是 BitmapImage 和 WriteableBitmap.关于 BitmapImage 和 WriteableBitmap 区别,我就不在这里说.主要说的 ...
- 【广告】win10 uwp 水印图床 含代码
本文主要是广告我的软件. 图床可以加速大家写博客上传图片的时间,通过简化我们的操作来得到加速. 在写博客的时候,我们发现,我们需要上传一张图片,需要先打开图片,然后选择本地图片,然后上传. 但是我经常 ...
- win10 uwp 商业游戏 1.2.1
上一个游戏已经告诉大家如何写多个游戏,现在继续写这个无聊的游戏 希望大家在看这篇文章之前先看win10 uwp 商业游戏,在这个文章告诉了大家如何创建游戏. 修改数值 可以从上一篇的博客的游戏看到升级 ...
随机推荐
- 【目录】sql server 进阶篇系列
随笔分类 - sql server 进阶篇系列 sql server 下载安装标记 摘要: SQL Server 2017 的各版本和支持的功能 https://docs.microsoft.com/ ...
- paint进阶(转)
转自:https://blog.csdn.net/cquwentao/article/details/51374994 概述 paint的基本绘制方法已经在前面的基本图形绘制中讲解了,这里做的是进阶讲 ...
- SSD算法的实现
本文目的:介绍一个超赞的项目--用Keras来实现SSD算法. 本文目录: 0 前言 1 如何训练SSD模型 2 如何评估SSD模型 3 如何微调SSD模型 4 其他注意点 0 前言 我在学习完SSD ...
- Pythonf反射
Python中,反射有4个方法.分别是:hasattr().getattr().setattr()和delattr(). hasattr() 定义 hasattr()函数用于判断对象是否包含对应的属性 ...
- Qt 无法连接mysql数据库的问题
错误信息: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL ...
- 初识sed和gwak
一.sed编辑器 sed命令的格式如下: sed options script file 选项 -e script 在处理输入时,将script中指定的命令添加到已有的命令中 -f fi ...
- iconfont字体图标的使用方法
转载于https://www.cnblogs.com/hjvsdr/p/6639649.html 我之前因为项目用bootstrap比较多,所以使用font awesome字体图标比较多,后来接触到了 ...
- 探索Redis设计与实现10:Redis的事件驱动模型与命令执行过程
本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...
- 2019 ICPC Asia Nanchang Regional E Eating Plan 离散化+前缀和
题意: 给你n个盘子,这n个盘子里面分别装着1!到n!重量的食物,对于每一个询问k,找出一个最短的区间,使得区间和 mod 998857459 大于或等于k 盘子数量 n<=1e5 询问次数 m ...
- java集合框架面试要点整理