假设我们有一个名为 'Person' 的类,其中包含 'FirstName' 和 'LastName' 属性,我们需要在 'ViewModel' 中创建一个包含 'Person' 对象的 'ObservableCollection',然后将其绑定到 'DataGrid' 的 'Items' 属性。

ViewModel:

using System.Collections.ObjectModel;

public class MainViewModel : ViewModelBase
{
    public ObservableCollection<Person> People { get; set; }

    public MainViewModel()
    {
        People = new ObservableCollection<Person>
        {
            new Person { FirstName = "John", LastName = "Doe" },
            new Person { FirstName = "Jane", LastName = "Smith" }
        };
    }
}

View:

<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:viewmodels="clr-namespace:YourProject.ViewModels"
        x:Class="YourProject.Views.MainWindow"
        Width="800" Height="450" Title="My App">
    <Window.DataContext>
        <viewmodels:MainViewModel/>
    </Window.DataContext>
    <Grid>
        <DataGrid Name="MyDataGrid" Items="{Binding People}" AutoGenerateColumns="False" >
            <DataGrid.Columns>
                <DataGridTextColumn Header="Forename"  Binding="{Binding FirstName}"/>
                <DataGridTextColumn Header="Surname" Binding="{Binding LastName}" />
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</Window>

在这个示例中,我们将 'MainViewModel' 的实例设置为 'Window' 的 'DataContext',然后将 'People' 属性绑定到 'DataGrid' 的 'Items' 属性。我们还设置了 'AutoGenerateColumns' 属性为 'False',然后手动添加了两个 'DataGridTextColumn',分别绑定到 'Person' 类的 'FirstName' 和 'LastName' 属性。

AvaloniaUI DataGrid 示例:使用绑定显示数据

原文地址: https://www.cveoy.top/t/topic/on2E 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录