我的应用是一款使用MVVM Light的C#应用,面向Windows Phone 7.1平台。我的视图模型中有一个属性,其源内容通过REST请求从外部Web服务器异步检索。该属性经常用于与View的UI元素绑定。
我发现这个SO帖子显示了正确执行此操作的模式。使用此模式,如果从未设置过支持该属性的私有数据成员,则该属性的初始 get 请求将返回 NULL 。异步加载完成后,将调用 SetProperty()来更新属性。我的猜测是,这种技术用于避免触发对 setter 的嵌套调用,同时仍然为属性引发属性更改事件,从而通知绑定到属性的UI元素。 setter 是私有的,以避免任何外部代码干扰此模式:
Assigning an async result to a data binding property
问题是我找不到包含 SetProperty()的WP7程序集。我发现WP7的这个MVVM样本包含一个自定义的样本,但你必须从受保护的类派生才能使用它,如果我可以避免它,我不想这样做:
Windows Store Apps: A Guide for WPF and Silverlight Developers, Part 2
在哪里可以找到与WP7一起使用的 SetProperty()方法?