Avalonia DataGrid设计时可填充数据但运行时无法填充的问题
解决Avalonia DataGrid运行时不显示数据的问题
你遇到的核心问题是运行时没有给Window设置DataContext——Design.DataContext仅在设计器预览阶段生效,程序启动后不会自动复用这个上下文。
修复步骤
方法1:在XAML中直接配置DataContext
在Window标签内添加以下代码(与设计时上下文分开设置):
<Window.DataContext> <vm:MainWindowViewModel/> </Window.DataContext>
方法2:在代码后台设置DataContext
打开MainWindow.axaml.cs,在构造函数中添加DataContext赋值逻辑:
public MainWindow() { InitializeComponent(); // 新增这行绑定运行时上下文 DataContext = new MainWindowViewModel(); }
补充说明
你的ViewModel代码本身没有问题:
People使用ObservableCollection是正确的,集合内容变化时能自动通知UI更新Person类的属性结构符合绑定要求- 设计时能正常显示数据,说明XAML的绑定路径、命名空间配置都没问题,只是缺失了运行时的上下文关联
内容的提问来源于stack exchange,提问作者Dave Doknjas
相关产品推荐
相关产品推荐

