我在用户控件背后的代码中创建了ObservableCollection。xaml中的WPF ObservableCollection
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
Entities db = new Entities();
ObservableCollection<Image> _imageCollection =
new ObservableCollection<Image>();
IEnumerable<library> libraryQuery =
from c in db.ElectricalLibraries
select c;
foreach (ElectricalLibrary c in libraryQuery)
{
Image finalImage = new Image();
finalImage.Width = 80;
BitmapImage logo = new BitmapImage();
logo.BeginInit();
logo.UriSource = new Uri(c.url);
logo.EndInit();
finalImage.Source = logo;
_imageCollection.Add(finalImage);
}
}
我需要是基于保存在数据库中的URL创建的图像的ObservableCollection:当窗口负载创建它。但我需要一个ListView或其他的ItemsControl绑定到它在XAML文件是这样的:
但我无法弄清楚如何将的ObservableCollection传递给控制的ItemsSource。我试图创建一个类,然后在xaml文件中创建一个类的实例,但它不起作用。我应该创建一个静态资源以某种方式>
任何帮助将不胜感激。
除了您可能想要添加更多细节并修复一个小问题外,技术上正确 - * ObservableCollection *已经实现了* INotifyCollectionChanged *和* INotifyPropertyChanged *,因此不需要在您提及的公共属性上重新实现/调用它们。 – slugster 2010-06-16 10:35:49
谢谢你的帮助。你能提供一些小小的代码吗? – Enzomatric 2010-06-16 10:39:14
@slugster - 抱歉,我的回复不清楚。我提到INotifyPropertyChanged的原因纯粹是为了更新列表,如果作者自己的公共属性重新初始化。我可能不应该添加这种多余的信息... @Cloverness - 添加示例... – 2010-06-16 10:46:25