-WPF Model-View-ViewModel- ListBox 的 ItemSources 在连接到 DataBa



我有一个WPF Application,我想使用Model-View-ViewModel pattern。因此,我创建了我的Model类,我的View(XAML(和我的ViewModel作为它们之间的桥梁。视图模型有一个用于填充ListBox内容ObservableCollection。因此,在我的 XAML 中,我将ItemSources绑定到我的列表名称。无论如何,我的方法fillMyDataStructure((仅在应用程序启动时被调用。

我的问题是该列表在应用程序启动时未填写。用户单击"连接到数据库"按钮,仅当连接成功时,列表才会被填充。但是我的 ListBox 是空的,因为应用程序仅在启动时尝试填充它,当列表没有时。那么,我该如何解决这个问题,忠实于模型-视图-视图模型模式?提前谢谢你。

您需要的是检测列表中的更改。您可能需要两种方法。一种是检测包含集合的属性何时发生更改(即,将其设置为另一个集合实例(。另一种是当集合本身发生更改时(当您添加或删除项目时(。
第二个问题是你使用ObservableCollection解决的。对于第一个,您需要实现INotifyPropertyChanged接口并为集合属性引发PropertyChanged事件。您可以轻松找到此接口实现的示例。

最新更新