介绍
DataGrid 是一种格式或体系结构,用于在用户界面中显示一组数据。在 Xamarin 窗体中没有默认 DataGrid 控件,因此我们需要安装“DataGrid.Xamarin.Forms”依赖项。
让我们开始在 Mac 可视化工作室中创建新的 Xamarin.Forms应用程序
创建项目后,安装“Xamarin.Forms.DataGrid”依赖项,通过去,解决方案资源管理器 >>右键单击并选择”管理 NuGet 包”>在新的对话框中,右上角搜索”Xamarin”数据网格“并安装它。
创建 MVVM 文件夹结构,在模型文件夹下创建Professional.cs模型类。为此,打开解决方案资源管理器 >> 右键单击”模型”文件夹,然后选择”添加 > 新类”,并将名称命名为Professional.cs。下面给出了类代码。
命名空间XFDataGrid.型号
{
公共类专业
{
公共字符串Id获取设置;}
公共字符串名称得到设置;}
公共字符串去向被设置;}
公共字符串体验=获取;设置;}11}
12}
现在,在 Utils 文件夹下为虚拟数据创建另一个DummyProfessionalData.cs类。此处提供了用于创建虚拟数据和代码的类。
C#
xxxxxxx
129使用系统;2使用系统。集合.通用;
3使用XFDataGrid。模型;
45命名空间XFDataGrid.乌蒂尔斯
6{
7公共静态类虚拟专业数据
8{
9{
11var数据=新列表<专业>();
12瓦尔人+新专业人员()
13{
14ID="3",
15名称="猴子",
16去向="开发人员",
17体验 = "1"19};
2021( inti=0i<10i=)
22{
23数据.添加(人);
2425}
26}
28}
29}
接下来,在 ViewModel 文件夹下创建MainPageViewModel.cs类,并编写下面给出的代码。在此处,将编写"列表"和"IsRefresh"属性以及刷新推荐,当用户从上到下轻扫时,刷新命令将执行并刷新更新的数据的 UI。INotifyProperty 更改属性还实现以使用新数据调用 UI。用于单一数据选择的专业属性。
{C#
如果(属性更改 != 空)
属性更改(此,新属性更改事件(属性);
}
}
["数据朗="文本/x-csharp"|xxxxxxx
1791使用系统;
2使用系统。集合.通用;
3组件模型;4使用系统。线程。任务;
5使用系统。视窗。输入;
6使用Xamarin。表格;
7使用XFDataGrid。模型;
8使用XFDataGrid。乌蒂尔斯;
910命名空间XFDataGrid.查看模型
11公共类主页查看模型:通知属性已更改13{
14私人名单<专业>_professionals;
15私人专业_selectedProfessional;
16私人野猪_isRefreshing;
1718公开列表<专业>专业人员
19获取21{
22返回_professionals;
23}
24设置
25{
26_professionals=值;
27财产变更(专业人士姓名);
28}
30公共专业精选专业
31{
32获取
33{
34返回_selectedProfessional;
35}
36设置
37_selectedProfessional = 值;39财产变更(名称(选定专业));
40}
41}
4243公共布尔是刷新
44{
45获取
46return 返回_isRefreshing;48}
49设置
50{
51_isRefreshing=值;
52属性更改(名称(正在刷新) );
53}
54}
5556公共主页查看模型()59{
60专业人士=虚拟专业数据。获得专业人员();
61刷新命令=新命令(CmdRefresh);
62}
6364私人异步voidCmdRefresh()
65{
66等待任务。延迟(3000);68是刷新=错误;
69}
7071公共事件属性更改事件处理程序属性已更改;
7273私有无效OnProperty 更改(字符串属性)
74{
75属性更改(此,新的属性更改事件Args(属性) );77}
78}
79}
打开主页.xaml 页面并开始我们的 UI 设计。首先,我们将 DataGrid 命名空间称为 dg,并将我们的列设计为"标题",绑定属性名称、宽度大小。绑定项目源,选定项目,引用命令。此页设计代码如下所示。
Xml
xxxxxxx
1422<ContentPagexmlns="http://xamarin.com/schemas/2014/forms"
3xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
4xmlns:d="http://xamarin.com/schemas/2014/forms/design"
5xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
6xmlns:dg="clr-namespace:Xamarin.Forms.DataGrid;程序集_Xamarin.Forms.DataGrid"
7x:类="XFDataGrid.主页">
8<!-- 在此处放置新控件 -- >10<dg:数据网格项目来源="[绑定专业人员]"选择启用 ="true"选定项目="[绑定所选专业]"行高度="70"标题高度="50"
11边框颜色="#CCCCCC"标题背景="#E0E6F8"拉托刷新命令="[绑定刷新命令]"正在刷新="[绑定正在刷新]"活动罗颜色="#8899AA">>
12<x:参数>
13<列表查看缓存策略>保留元素</列表查看缓存策略>
14[ lt;dg:DataGrid.标题字体大小>16<OnIdiomx:类型参数="x:双">>
17<Onidiom.平板电脑>15</onidiom.平板电脑>
18<Onidiom.电话>12</onidiom.电话>
19</Onidiom>
20</dg:DataGrid.标题字体大小>
21>22<dg:数据网格列标题="ID"属性名称="ID"宽度="1+"></dg:DataGridColumn>
23<dg:DataGridColumn属性名称="名称"宽度="2+">
24<dg:数据网格列。格式标题>
25<格式化字符串>
26<跨文本="名称"字体大小="13"文本颜色="黑色"字体属性="粗体"/>
27</dg:数据网格纵队.格式标题>29</dg:数据网格列>
30<dg:DataGridColumn标题="去构"属性名称="变形"宽度="2+"/>
31<dg:DataGridColumn标题="域"属性名称="域"宽度="2+"/>
32<dg:DataGridColumn标题="Exp"属性名称="体验"宽度="1+"/>
33>34<dg:DataGrid.Rows背景调色板>
35<dg:PaletteCollection>
36<颜色>#F2F2F2<Color>
37<颜色>#FFFFFF</颜色>
38</dg:PaletteCollection>
39>40</dg:数据网格>
41</内容视图>
42</内容页>
下一个打开MainPage.xaml.cs并设置绑定上下文是主页面查看模型,正如我们已经做。此处的源代码。
C#
1使用系统;
2使用系统。集合.通用;
3使用系统。组件模型;
4使用系统。林克;
5使用系统。文本;
6使用系统。线程。任务;
7表格;8使用XFDataGrid。视图模型;
910命名空间XFDataGrid
11{
12// 了解有关在 Xamarin.窗体预览版中显示自定义代码的更多详细信息
13// 通过参观https://aka.ms/xamarinforms-previewer
14[设计时间可见(假) ]
15{
17公共主页()
18{
19初始化组件();
20绑定上下文=新的主页面视图模型();
21}
22}
23}
最后,在应用启动中初始化数据组件CS 类,如以下代码所示。
C#
xxxxxxx
1301使用系统;
2表格;3使用Xamarin。窗体。Xaml;
45命名空间XFDataGrid
6{
7公共部分类应用程序应用程序
8{
9公共应用程序()
10夏马林。窗体。数据网格.数据网格组件。Init();1213初始化组件();
1415主页=新主页();
16}
1718受保护的覆盖无效启动()
Comments are closed.