如何绑定ListBox,显示ObservableCollection
中某些dll中某个函数返回的所有项?
我在名为FilesManager
的dll singltone类和函数Instance()
中返回指向此类的指针。然后我有一个名为GetFiles()
的函数,它返回包含所有文件名的ObservableCollection
。
我在xml中有一个ListBox,我想将它ItemsSource
属性绑定到
FilesManager.Instance().GetFiles()
,我该怎么做?
答案 0 :(得分:2)
您应该考虑使用MVVM设计模式。在这种情况下,您的视图模型上将有一个公开FilesManager.Instance().GetFiles()
集合的属性,您的视图将绑定到此属性。
public class MyViewModel
{
public MyViewModel()
{
this.Files = FilesManager.Instance().GetFiles();
}
public XXX Files { get; private set; }
}
<ListBox ItemsSource="{Binding Files}" ... />
如果您想在构建后更改Files
引用,则需要实现INotifyPropertyChanged
来更新UI。