1

如何绑定 ListBox 以ObservableCollection通过某个 dll 中的函数显示该返回中的所有项目?

我在 dll 单音类中调用FilesManager了一个函数,该函数Instance()返回指向该类的指针。然后我有一个名为 的函数GetFiles(),它的返回ObservableCollection包含所有文件名。

我在 xml 中有一个 ListBox,我想将它ItemsSource的属性绑定到
FilesManager.Instance().GetFiles(),我该怎么做?

4

1 回答 1

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。

于 2013-04-13T14:12:38.557 回答