我有一组ObservableCollections正在其他方面使用,以ListBoxes的形式向用户提供选择。这些是基于用户登录时来自服务器的XML数据填充的。
在用户界面中,这些集合被绑定到例如一个ListBox;
public constructor() {
listBox.ItemsSource = App.Current.myCollection;
注销时,用户将返回第一页(我转发到登录页面,并删除OnNavigatedTo中的所有后退条目)。
问题在于:当重新启动时,似乎很难以一种理智的方式重新填充集合,这使得列表框具有瞬态(当您第一次登录时会执行此操作)。
另一个惊人的发现是,即使页面尚未导航到,绑定到我的集合的ListBox也会在手动清除和重新填充集合时更改选择。
任何更优雅方法的想法?
答案 0 :(得分:0)
找到了罪魁祸首;在构造函数中设置数据绑定时,可以过早地应用对集合的更改。正确的方法是在Loaded或OnNavigated
中分配ItemsSource