android - 在 MvvmCross 中使用 Rio 默认绑定(bind)

标签 android xamarin.android mvvmcross

我有一个 ListView ,它绑定(bind)到一个字符串数组:

<Mvx.MvxListView
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   local:MvxBind="ItemsSource StringArray"
   local:MvxItemTemplate="@layout/listitem_view" />

我的项目模板只是一个 TextView ...

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"

使用 JSON 绑定(bind)很好...

    local:MvxBind="{'Text':{'Text':''}}" />

再次使用瑞士...

    local:MvxBind="Text " />

但是在将 Mvx 更新到 3.10 之后,我现在没有将任何内容绑定(bind)到我的 TextView ,即使列表仍然绑定(bind)到 ListView 。 Rio 绑定(bind)中的语法是否更改了默认行为?

最佳答案

在 3.0.10 中没有对此区域进行有意的更改 - 尽管对此有修复 Error when making bind ObservableCollection<string> for a MvxListView - 修复是 https://github.com/slodge/MvvmCross/commit/d325fb75eaeeb8e470e0ac551f2b69b441f7b285 .我相信这是在 3.0.10 中发布并用于测试应用程序的。

Has the syntax in Rio binding changed the default behaviour?

我不知道是否有人在作为 Rio 扩展的一部分的 MethodBinding 或 FieldBinding 中看到过这些问题。我没听说过。


如果这被破坏 - 并且取决于它是否由于绑定(bind)引擎(西藏)或方法和字段扩展(里约热内卢)或其他原因而被破坏,那么可能的解决方法包括:

  • 离开里约热内卢
  • 使用句号“.”替代空白空间 - 例如local:MvxBind="文本。"
  • 添加一个公共(public)对象 HackSelf { get { return this; } 属性到绑定(bind)对象并绑定(bind)到那个 local:MvxBind="Text HackSelf"
  • 覆盖已注册的绑定(bind)引擎(例如返回瑞士)

如果这被破坏了——在 github 上为此记录一个问题可能也是一个好主意——包括加载的模块、用例、使用的版本、看到的任何可疑跟踪输出以及返回此处的链接。

关于android - 在 MvvmCross 中使用 Rio 默认绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18205096/

相关文章:

android - 从 MvvmCross 中删除 System.ServiceModel

c# - MvvmCross : conventional plugin bypass

android - 如何在xml中放置一个java类

javascript - kendo.navigate 和更改 location.hash 之间的区别

android - 如何创建默认应用程序实例的自定义实例?

c# - 将 Xamarin 部署到 Android 时出错

android - mdtool,在 mac 上构建 android apk

xamarin - 用于嵌套 ListView 的 MvxExpandableTableViewSource

android - 在 Activity 外使用 getAssets

android - Android 版 Chrome 无法正确显示 vw