8
|
Tomasz Jaskuλa · 技术社区 · 15 年前 |
![]() |
1
9
你可能对这个感兴趣 session . 它解释了如何将MVVM模式与RIA WCF服务一起使用。 |
![]() |
2
4
|
![]() |
3
4
一些随机答案… 我不认为MEF特别适合Silverlight。它主要用于桌面应用程序,并且可以适应插件在本地文件系统中相对于应用程序的其他用途。 MVVM要求您了解角色。“视图”是您的XAML和代码隐藏。后面的代码应该处理来自用户控件的事件,但仅此而已。 视图模型保存用户控件将绑定到的数据。通常,ViewModel作为其DataContext绑定到视图,这样表单中的所有内容都可以数据绑定到ViewModel中的属性。ViewModel必须实现InotifyPropertyChanged,并为表单数据绑定到的每个属性引发属性更改事件。 您可能需要创建一个ObservableCollection,使用EntitySet作为源。这将处理用于数据绑定的inotifyCollectionChanged。如果EntitySet中的实体也处理inotifyPropertiesChanged,那么您在集合的数据绑定方面状态良好。 您可以为单个实体创建一个属性,并对其进行数据绑定,前提是还实现了更改通知(实体成员和实体属性)。 RIA服务将在每个构建上重新生成域上下文,这有助于保持同步。不过,它的目的是作为ORM之上的服务层,因此您的ORM或其他数据映射仍然需要通过其他方式进行维护。 我还没有看过RIA服务的最终版本,但是测试版并没有给我留下深刻的印象。我宁愿在服务器上定义好的实体类,并将它们与Silverlight项目共享。但是,设置起来并不容易,并且需要一些不依赖服务引用的重要的WCF。(RIA Services最终版本可能已经清除了其中的一些内容,但Silverlight中的本机WCF服务引用非常邪恶,主要是因为它不会自动重新创建生成的类,并且它硬编码服务器端服务的URI。) 元数据是RIA服务测试版的另一个问题。如果控制实体源,则更容易将元数据属性直接附加到DataContract类和单个DataMember属性。同样,这可能意味着不使用RIA服务。正如RIA测试版所要求的那样,编写单独的元数据类不是一个好的解决方案。 我最终没有使用Silverlight3的RIA服务,对此我并不后悔。这里有一个 excellent article on WCF and Silverlight . 虽然它说Silverlight2,但它仍然是任何Silverlight版本的目标。 我推荐MVVM灯。如果这是一个问题,那么codeplex上提供了源代码。它提供消息传递和命令支持,以及一个ViewModelLocator;虽然后者需要一些工作来理解,但它确实是对基本MVVM模型的一个很好的扩展。 希望这有帮助….. |
![]() |
4
2
我只是想让你知道我正在做的一个项目-刚刚完成了我们的第一个版本。提供了一种非常简单的方法来专门为Silverlight+RIA服务访问MVVM。简化了许多MVVM内容,并为通知类提供了更多类似控制器的函数。 http://slmvvms.codeplex.com/ |
![]() |
Xsayar · 如何将两个命令绑定到WPF按钮? 7 年前 |
![]() |
Mark Denom · 我的数据绑定是如何写出长度属性的? 7 年前 |
![]() |
Dev · 如何更新绑定到UI的集合? 7 年前 |
![]() |
Detlef D Soost · 多重绑定未设置值 7 年前 |
![]() |
Jack Guo · 在MVVM中清除集合视图的正确方法 7 年前 |