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

来源:这里教程网 时间:2026-02-21 17:37:44 作者:

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

安装 DataGrid 扩展包

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

安装 NuGet 包:
Avalonia.Controls.DataGrid
(版本需与主框架一致,比如 Avalonia 11.x 就配 11.x)
App.axaml
<application.styles></application.styles>
中引入主题样式:
<styleinclude source="avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml"></styleinclude>

准备可绑定的数据源

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

ObservableCollection<t></t>

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

XAML 中正确绑定 ItemsSource

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

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

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

快速排查白屏或空表:

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

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

相关推荐