我正在尝试使用遵循mvvm设计模式的wpf和实体框架来创建搜索应用程序。当您搜索某人时,我希望ListBox动态保存尽可能多的数据网格,就像搜索显示一样。数据网格将保存诸如名字和姓氏之类的信息,以及个人资料图片。我对wpfs和c#一般都是新手,但我认为datagrid及其所有信息都是它自己的xaml。然后,不知何故,我可以根据需要将xaml添加到列表框中(取决于搜索结果的数量)。任何帮助将不胜感激。
答案 0 :(得分:0)
简单的一个:ListBox.ItemTemplate。 DataGrid XAML进入项目模板。
搜索结果位于搜索结果类的ObservableCollection中。该集合将是您的viewmodel的成员,并且在XAML中,您将该集合绑定到ListBox.ItemsSource。
ListBox将为搜索结果集合中的每个项目实例化一次ItemTemplate。
不要忘记在viewmodel上实现INotifyPropertyChanged,并在用新的集合替换集合时引发PropertyChanged。对集合内容的更改不是您的问题:使用ObservableCollection并且它会自动发出添加和删除通知。 ListBox将在不被询问的情况下订阅这些通知。