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中的自定义UITabBar

帮助在monotouch中绑定一个静态objective-c库

支持除列表视图或列表框之外的数据绑定的 XAML 控件

通过 monotouch 绑定在 Interface Builder 中创建为 UIView 的自定义控件

WebView 的方向 - Monotouch