AvaloniaUI DataGrid 示例:使用绑定显示数据
假设我们有一个名为 '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' 属性。
原文地址: https://www.cveoy.top/t/topic/on2E 著作权归作者所有。请勿转载和采集!