【发布时间】:2011-01-15 21:43:30
【问题描述】:
我继承了一些 Silverlight\WCF 代码,现在需要实现一些新功能。我对 Silverlight\WCF 相当陌生,所以我的问题可能相当基本。所以...
我在 Silverlight 中有一个列表框,它绑定到一个资源,该资源是从 WCF(rest)服务返回的 List(它只是从 db 表中读取值)。我已经实现了通过 WCF 服务向 db 表添加新项目的功能,现在想要在将列表框添加到 db 后对其进行更新。
我的初始代码可能需要更改,因此我在下面列出了相关行。
在 xaml 中资源是这样的:
<CollectionViewSource x:Key="myWCFSvc">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription Direction="Ascending" PropertyName="ID" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
而listbox的绑定是:
ItemsSource="{Binding Source={StaticResource myWCFSvc}}
而且 .cs 在回调中有
((CollectionViewSource)LayoutRoot.Resources["WCFSvc"]).Source = myList;
现在,如果用户通过另一个 Silverlight 子窗口添加新条目,则会在数据库中创建一个新条目,我想更新列表框以包含该条目。我不清楚如何做到这一点。
我知道有 observablecollections 和 INotifyPropertyChanged 但不确定这是否是我需要的,或者如何在这种情况下使用它们。我搜索了一下,但我发现的例子似乎不适合我的场景。
【问题讨论】:
标签: wcf silverlight data-binding