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 回答