首先,我想道歉,因为我相信这个问题的答案非常简单。但是,我仍然无法找到答案。
这是我使用WPF的第一周。我只是希望在DataGrid中显示某种列表的内容。我目前正在尝试使用ObservableCollection<>和DataGrid,但这可能会改变。如何对列表进行DataTemplate处理并显示它?
该列表位于ViewModel中,并已在Apps.xaml.cs中设置为MainWindow.xaml的数据源:
对于我的xaml而言,我相当茫然——我尝试了绑定和ItemsSource的摆弄,但实际上我并不知道如何在这里使用它们。此外,我想使用DataTemplate是必要的,因为我需要让它知道列需要显示PersonData的某些属性,例如名字、姓氏、位置和职位。如果有帮助,非常感谢。
编辑
更一般地说,如何简单地显示ViewModel列表、集合或任何其他东西?
这是我使用WPF的第一周。我只是希望在DataGrid中显示某种列表的内容。我目前正在尝试使用ObservableCollection<>和DataGrid,但这可能会改变。如何对列表进行DataTemplate处理并显示它?
该列表位于ViewModel中,并已在Apps.xaml.cs中设置为MainWindow.xaml的数据源:
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var window = new MainWindow();
// Create the ViewModel to which
// the main window binds.
var viewModel = new MainWindowViewModel();
// Allow all controls in the window to
// bind to the ViewModel by setting the
// DataContext, which propagates down
// the element tree.
window.DataContext = viewModel;
window.Show();
}
以下是当前列表:
public ObservableCollection<PersonData> SearchResults { get; set; }
对于我的xaml而言,我相当茫然——我尝试了绑定和ItemsSource的摆弄,但实际上我并不知道如何在这里使用它们。此外,我想使用DataTemplate是必要的,因为我需要让它知道列需要显示PersonData的某些属性,例如名字、姓氏、位置和职位。如果有帮助,非常感谢。
编辑
更一般地说,如何简单地显示ViewModel列表、集合或任何其他东西?
DataContext
没有正确设置,或者你的SearchResults
集合没有触发PropertyChanged
通知。我建议使用 Snoop 工具来帮助调试问题。 - Rachel