0

0

Avalonia DataGrid怎么绑定数据源 Avalonia DataGrid数据绑定步骤

煙雲

煙雲

发布时间:2026-01-12 01:29:20

|

968人浏览过

|

来源于php中文网

原创

直接绑定数据源到Avalonia DataGrid需三点:安装Avalonia.Controls.DataGrid包并引入Fluent样式;ViewModel中用ObservableCollection作可通知数据源;XAML中正确绑定ItemsSource="{Binding People}"且确保DataContext为ViewModel实例。

avalonia datagrid怎么绑定数据源 avalonia datagrid数据绑定步骤

直接绑定数据源到 Avalonia DataGrid,核心就三点:装对包、设好 DataContext、用对绑定表达式。不复杂但容易忽略细节。

安装 DataGrid 扩展包

默认 Avalonia 项目不带 DataGrid,必须手动添加:

  • 安装 NuGet 包:Avalonia.Controls.DataGrid(版本需与主框架一致,比如 Avalonia 11.x 就配 11.x)
  • App.axaml 中引入主题样式:

准备可绑定的数据源

DataGrid 需要实现通知机制的集合,推荐用 ObservableCollection

  • ViewModel 中定义属性,如:public ObservableCollection People { get; }
  • 构造函数中初始化并填充数据(不能为 null)
  • 确保模型类(如 Person)的属性支持变更通知(若需动态刷新字段值,需实现 INotifyPropertyChanged 或用 RaiseAndSetIfChanged

XAML 中正确绑定 ItemsSource

绑定不是写错一个字母就静默失败,常见写法如下:

Google AI Studio
Google AI Studio

Google 推出的基于浏览器的集成开发环境

下载
  • ItemsSource="{Binding People}" —— 前提是当前控件的 DataContext 已设为 ViewModel 实例
  • 如果 DataGrid 在 UserControl 或嵌套层级中,确认 DataContext 是否被意外覆盖(可用 DataContext="{Binding}" 显式继承)
  • 启用自动生成列:AutoGenerateColumns="True";若手动定义列,每列用 Binding="{Binding PropertyName}"

验证绑定是否生效的小技巧

快速排查白屏或空表:

  • 在 ViewModel 中给 People 赋值后加断点,确认集合非空且含数据
  • XAML 中临时加一句:,看是否显示数字
  • 检查输出窗口是否有 Binding 表达式错误提示(如 “Cannot resolve property”)

基本上就这些。只要包装了、集合活了、路径对了,DataGrid 就能稳稳显示数据。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

231

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

435

2024.03.01

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

197

2023.11.20

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

10

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

14

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

33

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

18

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

11

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Java 教程
Java 教程

共578课时 | 45.5万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号