Net跨平台UI框架Avalonia入门-DataGrid的使用

news2025/1/12 23:04:20

Avalonia中的DataGrid的使用

DataGrid 数据表格是客户端UI中很重要的一个控件,Avalonia中的DataGrid是单独一个包Avalonia.Controls.DataGrid,要使用DataGrid,需要另外在Nuget中按这个包,下面介绍一下DataGrid的安装和使用

DataGrid包安装

需要在Nuget中安装

在这里插入图片描述

版本选择,与Avalonia框架版本一致

安装的时候需要注意Avalonia.Controls.DataGrid包的版本要跟Avalonia框架版本一致,否则可能无法安装成功。

Avalonia框架版本就是创建项目选择的“Avalonia Version”一般为0.10.18或者11.0.0-preview4(2023年5月22日22:31:23)

在这里插入图片描述

Avalonia框架版本也可以在“依赖项→包”中查看

在这里插入图片描述
在这里插入图片描述

如果使用的是预览版,在nuget包管理器中,需要勾选搜索框右侧的“包括预发行版”,才能看到preview的版本。

在这里插入图片描述

DataGrid的使用

样式引用

在App.axaml(或者在其他使用的界面上引用)中引用DataGrid的样式文件

必须引用样式文件,否则不会显示DataGrid

<!--下面样式文件二选一-->
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml"/>
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Simple.xaml"/>

在这里插入图片描述

Fluent.xaml的效果:

样式效果比较全
在这里插入图片描述

Simple.xaml的效果:

比较简单
在这里插入图片描述

使用DataGrid

DataGrid的使用和WPF一样通过DataGrid.Columns编写列

与WPF区别:

  1. 绑定属性是Items
  2. 并且很多属性需要自己赋值进行初始化
    1. 例如需要拖拽列头进行调整宽度,需要增加CanUserResizeColumns="True"
    2. 需要拖拽列头进行列的顺序调整,需要自己添加CanUserReorderColumns="True"
 <DataGrid Name="MyDG" >
            <DataGrid.Columns>
                <DataGridTextColumn
                    Width="1*"
                    Binding="{Binding Id}"
                    Header="序号" />
                <DataGridTextColumn
                    Width="1*"
                    Binding="{Binding Name}"
                    Header="姓名" />
                <DataGridTextColumn
                    Width="1*"
                    Binding="{Binding Description}"
                    Header="姓名" />
            </DataGrid.Columns>
        </DataGrid>

c#

  //后台绑定
  List<User> users = new List<User>();
  users.Add(new User() { Id=1,Name="张一",Description="1111111"});
  users.Add(new User() { Id=2,Name="张二",Description="2222222"});
  MyDG.Items = users;

显示效果:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/560857.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

android/ios 一键抽取硬编码字符串

由于老项目 做国际化困难,抽取繁琐 最终实在蛋疼 最终开放插件来解决 android studio 插件 一键抽取硬编码字符串 xcode 一键抽取硬编码字符串 环境配置android studio ,appcode idea 环境类似1.安装插件 插件下载点击 2. 配置生成文件路径 android 就是string.xml ios Loca…

搭建stm32电机控制代码框架(一)

也是挑战一下自己吧&#xff0c;看看多久能够把自己的代码框架搭建起来&#xff0c;今天是5月23日&#xff0c;看看最终搭建成功的时候是什么时候&#xff0c;目标其实这个阶段很简单&#xff0c;电机转一个双闭环FOC就行。 这次的任务是基于stm32f405芯片进行展开&#xff0c…

STM32单片机(一)STM32简介

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

国产FPGA选型指南:如何选择适合你的国产FPGA芯片?

FPGA自1985年由Xilinx的创始人之一Ross Freeman发明后&#xff0c;全球90%的FPGA市场一直被国外厂家所占有&#xff0c;主要是这四家公司&#xff1a;Xilinx、Altera、Lattice、Microsemi。 Xilinx 和Altera公司占据了全球近80%以上的市场份额&#xff0c;且拥有着FPGA领域绝大…

Java学习笔记20——内部类

内部类 内部类的访问特点内部类的形式成员内部类局部内部类匿名内部类匿名内部类在开发中使用 内部类是类中的类 内部类的访问特点 1.内部类可以直接访问外部类的成员&#xff0c;包括私有成员 2.外部要访问内部类的成员&#xff0c;必须创建对象 内部类的形式 成员内部类 …

java变量类型

文章目录 一、java变量类型一.java变量类型二、Java 参数变量三、Java 局部变量四、成员变量&#xff08;实例变量&#xff09;五、类变量&#xff08;静态变量&#xff09; 总结 一、java变量类型 一.java变量类型 在Java语言中&#xff0c;所有的变量在使用前必须声明。声明…

13. InnoDB引擎底层原理及Mysql 8.0 新增特性详解

MySQL性能调优 查看系统中的各种LSN值 本文是按照自己的理解进行笔记总结&#xff0c;如有不正确的地方&#xff0c;还望大佬多多指点纠正&#xff0c;勿喷。 01.redo日志的作用和格式 02.redo日志的写入过程 03.什么是Log Sequence Number? 04.innodb_flush_log_at_trx _c…

(学习日记)AD学习 #3

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

二叉树的学习

最近在复习数据结构和线性代数&#xff0c;先准备周六的线代考试&#xff0c;好好复习。 目录 树的概念 结点&#xff1a; 空树&#xff1a; 子树&#xff1a; 结点的度&#xff1a; 树的度&#xff1a; 层数&#xff1a; 结点的深度&#xff1a; 结点的高度&#xff…

matplotlib运用:电商广告投入及销量预测【数据集+完整代码】

前期准备 数据准备 数据集有两个表 销售数据表投放费用的广告费用表 文章源码获取方式 &#x1f449;&#x1f449; 点击文末名片 1. 分别按 日 和 月 分析销售收入 绘制子图 figure(numNone, figsizeNone, dpiNone, facecolorNone, edgecolorNone,frameonTrue)num:图像…

23岁大专零基础学网络安全能找到工作吗?

当然好找工作&#xff0c;如今在21世纪的信息时代&#xff0c;我们的生活与互联网越来越不可分割。但与此同时&#xff0c;信息安全事件也不时发生&#xff0c;网络安全越来越受到关注。譬如&#xff0c;近期360集团公布黑客帝国对我国进行长达10年的网络攻击&#xff1b;北京健…

MySQL调优方式

1. 选择合适的存储引擎: InnoDB 除非你的数据表使用来做只读或者全文检索 (相信现在提到全文检索&#xff0c;没人会用 MYSQL 了)&#xff0c;你应该默认选择 InnoDB 。 你自己在测试的时候可能会发现 MyISAM 比 InnoDB 速度快&#xff0c;这是因为&#xff1a; MyISAM 只缓存索…

三、DRF关联表的序列化(通过主表,查询从表数据)

官方文档&#xff1a; Serializers - Django REST framework中文站点 上一章&#xff1a; 二、Django REST Framework (DRF)序列化&反序列化_做测试的喵酱的博客-CSDN博客 一、前提 models.py class MiaoClass(models.Model):id models.AutoField(primary_keyTrue, v…

Springboot +spring security,实现前后端分离,使用JSON数据格式登录(将表单提交方式改成json格式登录)

一.简介 在前面的文章中&#xff0c;我们使用表单方式完成登录提交&#xff0c;但是目前基本都是前后端分离项目&#xff0c;很少使用表单提交的方式&#xff0c;基本都是json方式&#xff0c;使用ajax提交&#xff0c;那么我们怎么将表单提交方式改成json格式登录呢&#xff…

语雀批量导出 mardown 文档(不需要 token)

推荐一个小工具&#xff1a;renyunkang/yuque-exporter &#xff0c;可以不借助语雀超级会员的 token 实现批量导出 markdown 文档。我的语雀知识库又可以实现免费迁移了&#xff0c;点个小星星支持一下。 说明&#xff1a; 这是一个基于puppeteer 来模拟用户在浏览器的操作…

基于深度强化学习的目标驱动型视觉导航泛化模型

深度强化学习在目标驱动型视觉导航的泛化 参考论文《Towards Generalization in Target-Driven Visual Navigation by Using Deep Reinforcement Learning》 文章目录 深度强化学习在目标驱动型视觉导航的泛化1. 目标驱动型视觉导航问题2. 创新点和解决的问题2.1 创新点2.2 解…

随身WIFI折腾日记(四)---拓展USB接口读取U盘内容

五、USB行为控制 随身WIFI对外交互的接口只有WIFI和USB接口。如果要想接入其他硬件设备&#xff0c;拓展USB接口至关重要&#xff0c;对于USB接口的控制&#xff0c;参考如下链接: openstick项目官方教程:控制usb行为 HandsomeMod/gc: A Simple Tool To Control Usb Gadget …

Opencv C++图像处理:点多边形测试 + 矩 + 凸包 + 映射 + 反向投影

文章目录 1、点多边形测试1.1、计算像素点是在轮廓内部、外部或边界上&#xff1a;cv::pointPolygonTest()1.2、计算最小值和最大值及其位置&#xff1a;cv::minMaxLoc()1.3、实战案例 2、矩2.1、计算多边形或光栅化形状的三阶以下的所有力矩&#xff1a;cv::moments()2.2、计算…

Regularization

在图像中的特征处理&#xff1a; 平均亮度的去除 SVD Whiten PCA 参数初始化策略 数据归一化&#xff1a; 标准归一化缩放归一化PCA/SVD 数据归一化对梯度的影响 归一化后&#xff0c;可以更快的搜索到最优值点 正则化 数据增强与早停 图像数据的增强主要是通过算法…

测试新手如何去学习接口自动化测试 ?从这一套测试框架开始 。

接口自动化测试框架系列之整体介绍 1.接口自动化测试1.自动化框架概述2.搭建自动化测试框架3.测试框架中所使用到的技术 1.接口自动化测试 自动化测试虽然是测试中比较热的一门技术 &#xff0c;但凡一个测试岗位&#xff0c;你几乎都能看到有自动化测试的要求 。但不得不说&a…