所以我目前正在尝试使用 MVVM 学习 WPF,并且我正在在线学习一些教程。现在我有一个简单的项目,我尝试自己做,但不知何故 ListBox 保持为空。我认为它不会绑定(bind)到 ViewModel。我在这里想念什么?
View 模型:
public class PersonViewModel
{
ObservableCollection<Person> Personen { get; set; } = new ObservableCollection<Person>();
public PersonViewModel()
{
Personen.Add(new Person { Vorname = "My", Nachname = "Name", Email = "my@name.com" });
Personen.Add(new Person { Vorname = "Max", Nachname = "Mustermann", Email = "max@mustermann.de" });
Personen.Add(new Person { Vorname = "John", Nachname = "Doe", Email = "john@doe.com" });
Personen.Add(new Person { Vorname = "Jane", Nachname = "Doe", Email = "jane@doe.com" });
}
}
}
另外,我正在像这样设置我的 DataContext:
public PersonenView()
{
InitializeComponent();
this.DataContext = new ViewModel.PersonViewModel();
}
最佳答案
您只需要在 ViewModel 中为 ObservableCollection Personen 提供一个公共(public)访问器。
您还应该将属性设为只读(或从其 setter 触发属性更改通知):
public ObservableCollection<Person> Personen { get; }
= new ObservableCollection<Person>();
关于c# - WPF 绑定(bind) View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56322447/