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

时间:2017-03-17 10:29:01

标签: c# wpf xaml mvvm listbox

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

我的问题是应用程序启动时未填写列表。用户单击“连接到数据库”按钮,并且仅当连接成功时才填充列表。但我的ListBox是空的,因为应用程序尝试仅在启动时填充它,此时列表为空cource。那么,我该如何解决这个问题,保持对Model-View-ViewModel模式的忠诚?提前谢谢。

1 个答案:

答案 0 :(得分:1)

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