请用avalonia 框架,写一个datagrid的demo
时间: 2025-01-13 22:53:20 浏览: 159
Avalonia是一个开源的.NET UI框架,它提供了一个现代、高性能的界面构建工具,可以用于创建跨平台的应用程序。下面是一个简单的例子,展示了如何使用Avalonia DataGrid组件:
```csharp
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace MyAvaloniaApp
{
public class App : Application
{
public App()
{
InitializeComponent();
}
[STAThread]
public static void Main(string[] args)
{
var builder = new XamlLoader().Load<Window>(@""
+ @"
<Window xmlns='https://github.com/avaloniaui'
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
Width='400' Height='300'>
<DockPanel>
<DataGrid x:Name='dataGrid'>
<DataGrid.Columns>
<DataGridTextColumn Header='Name' Binding='{Binding Name}' />
<DataGridTextColumn Header='Age' Binding='{Binding Age}' />
</DataGrid.Columns>
</DataGrid>
</DockPanel>
</Window>"
);
dataGrid.ItemsSource = new[] { new Person { Name = "Alice", Age = 25 }, new Person { Name = "Bob", Age = 30 } };
Run(builder);
}
}
// 定义数据模型Person
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
}
```
在这个示例中,我们首先导入了必要的库,然后在XAML中定义了一个窗口,其中包含一个DataGrid控件。DataGrid的列通过`DataGridTextColumn`和`Binding`关联到`Person`对象的属性。最后,我们在主线程中加载并显示这个窗口。
如果你想在运行时添加或删除行,可以使用`ItemsSource`属性绑定的数据源,并在需要的时候动态更新它。
阅读全文
相关推荐



















