1

ObservableCollection一部のdllの関数によって返されるすべてのアイテムを表示するListBoxをバインドするにはどうすればよいですか?

呼び出されたdllシングルトーンクラスと、このクラスへのポインターを返すFilesManager関数があります。Instance()次に、 を呼び出した関数がありGetFiles()、その戻り値ObservableCollectionにはすべてのファイル名が含まれています。

そして、私はxmlにリストボックスを持っていて、それを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 に答える