gpt4 book ai didi

WPF:如何开始为使用 MVVM 构建的 DataGrid 设置样式?

转载 作者:行者123 更新时间:2023-12-03 10:30:43 25 4
gpt4 key购买 nike

我有一个名称列表,我想绑定(bind)到数据网格以进行编辑/排序/等。但是,我根本不喜欢 DataGrid 的显示方式。当我真的想要一个自定义顺序时,列按字母顺序排列(我希望我可以隐藏 ID 列,或者使该列不可编辑)。我不知道如何开始做这些......

注意:我删除了很多“通用”代码(例如:INotifyPropertyChanged 代码...)

//PersonModel.cs
public class PersonModel
{
public Int32 ID { get; set; }
public String FirstName { get; set; }
public String LastName { get; set; }
}

//PersonViewModel.cs
public class PersonViewModel
{
public PersonViewModel()
{
Init();
}
public PersonViewModel(ObservableCollection<PersonModel> persons)
{
Init(person);
}
private void Init(ObservableCollection<PersonModel> persons = null)
{
Persons = person ?? new ObservableCollection<PersonModel>();
}

public ObservableCollection<PersonModel> Persons { get; set; }
}

//PersonView.xaml
<UserControl ...

...

<DataGrid ItemsSource="{Binding Persons}" />

...
</UserControl>

最佳答案

除非您另有说明,否则 DataGrid 通过反射推断列。如果你想控制,你可以:

<DataGrid ItemsSource="{Binding Persons}">
<DataGrid.Columns>
<DataGridTextColumn Header="First Name" Binding="{Binding FirstName}"/>
<DataGridTextColumn Header="Last Name" Binding="{Binding LastName}"/>
</DataGrid.Columns>
</DataGrid>

关于WPF:如何开始为使用 MVVM 构建的 DataGrid 设置样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3566966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com