MonoTouch 是不是有任何数据绑定支持?
Posted
技术标签:
【中文标题】MonoTouch 是不是有任何数据绑定支持?【英文标题】:Is there any data binding support for MonoTouch?MonoTouch 是否有任何数据绑定支持? 【发布时间】:2010-09-28 12:15:55 【问题描述】:我正在考虑如何使用 application can be written to work on both Windows 7 Phone and IPhone,一种选择是使用 MonoTouch 并使用 MVVM 构建应用程序,那么平台之间只需要不同的视图。
不过 MonoTouch 似乎不支持数据绑定。
当(如果)数据绑定支持添加到 MonoTouch 时,请提供此问题的答案,我将更改例外答案。
另见Is there any data binding mechanism available for ios?
【问题讨论】:
【参考方案1】:不过,MonoTouch 直接开箱即用不支持数据绑定。它遵循 Apple MVC 应用程序框架,完全没有绑定。 github上有一个项目可以简化很多创建数据表的过程:http://github.com/migueldeicaza/MonoTouch.Dialog。
最近有关于将一些 silverlight 代码(来自月光)移植到 MonoTouch 的讨论,现在 Apple 已经打开了关于 iOS 应用程序可以做什么的闸门。 Novell 的人还没有发布任何东西,但我猜现在可能有人正在调查它。
【讨论】:
【参考方案2】:有一个开源框架,它以 MonoTouch.Dialog 开头并添加了 DataBinding。它已经有了自己的生命,现在的目标是成为 iOS、android 和 WP7 的通用框架。尽管此时它仍处于 iOS 测试版中。
https://github.com/RobertKozak/MonoMobile.MVVM
【讨论】:
【参考方案3】:MVVMCross 是必经之路,它目前处于 V3 测试版并且非常强大。
https://github.com/slodge/MvvmCross
【讨论】:
【参考方案4】:查看@Blounty 的评论和更新的答案
可能不是您所追求的数据绑定答案...但 MonoCross 框架现已达到 1.0 版
该框架为 WP7、Droid 和 Touch 提供了 MVC 基础。
我刚刚(上周)开始在 Droid 和 Touch 中添加我们自己的绑定支持 - 对于我们的应用,绑定到 INotifyPropertyChanged 事件并进行自己的 UI 调整非常容易。
更多信息http://code.google.com/p/monocross
【讨论】:
我最近更新了我们的 mvvmcross 库,它为触摸和机器人提供了一些数据绑定支持 - 源代码在 github.com/slodge/mvvmcross【参考方案5】:一个可能的替代方案是:https://github.com/aka-ios-beacon
这是一个原生 (Objective-C) 框架,集成到界面构建器中(但不需要它)。绑定通常在视图和视图控制器的 IBInspecatable 扩展属性中定义,这意味着它们可以在 StoryBoards 中进行编辑。
默认情况下,视图控制器用作绑定的根视图模型(在控制器视图层次结构中找到)。绑定和观察是使用键值编码实现的,因此视图模型的唯一要求是绑定表达式中使用的属性符合键值编码。
我不知道 Xamarin 是否支持 IBdesignable 属性,或者是否可以使用 Xcode/IB 编辑 Xamarin 情节提要。 (由于我是 AKABeacon 的作者,如果需要,我很乐意将绑定支持集成到 Xamarin 中)
【讨论】:
以上是关于MonoTouch 是不是有任何数据绑定支持?的主要内容,如果未能解决你的问题,请参考以下文章
帮助在monotouch中绑定一个静态objective-c库