0

WPFアプリのリストボックスコントロールに一般的な監視可能な辞書をバインドします。私は5秒ごとに新しい新鮮なデータを観察可能な辞書として取得します。

wpfアプリのこの新しい辞書リストボックスで更新したいと思います。

私の魂は:

//this dic is bind on listbox
        private MyObservableDictionary<string, Friend> _friends;

//new data
        private MyObservableDictionary<string, Friend> _freshFriends;

....

//get data from server
            _freshFriends = _service.LoadFriends(Account);


            _friends.Clear();

//refresh dic
            foreach (var freshFriend in _freshFriends)
            {
                _friends.Add(freshFriend);
            }

私の魂はうまく機能しますが、シンプルで素晴らしい方法はありますか?アイデアをありがとう。

4

2 に答える 2

1

INotifyPropertyChangedを実装して (すべてを「監視可能」にします)、フレンド リストに直接割り当てたときに WPF が認識できるようにします。つまり、友達にフィールドではなくプロパティをリストさせ、setブロックで PropertyChanged デリゲートを起動させます:)

お役に立てば幸いです。詳細については、リンクを参照してください。質問があればコメントしてください。

于 2011-01-01T15:11:54.410 に答える
1

独自の があるので、それに関数をMyObservableDictionary実装して、次のAddRangeように呼び出すことができます:_friends.AddRange(_freshFriends); これにより、他のコレクションも追加したい場合にコードの重複を減らすことができます。

于 2011-01-01T15:15:44.863 に答える