1

I have a list view which binds to an array of strings as such:

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

My item template is simply just a text view...

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

which bound fine using JSON...

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

and again using Swiss...

    local:MvxBind="Text " />

but after updating Mvx to 3.10 I'm now not getting anything bound to my text view even though the list is still bound to the list view. Has the syntax in Rio binding changed the default behaviour?

4

1 回答 1

1

在 3.0.10 中对此区域没有任何预期的更改 - 尽管在为 MvxListView 进行绑定 ObservableCollection<string> 时修复了此错误- 修复为https://github.com/slodge/MvvmCross/commit/d325fb75eaeeb8e470e0ac551f2b69b441f7b285。我相信这是在 3.0.10 中发布并用于测试应用程序的。

Rio 绑定中的语法是否改变了默认行为?

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


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

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

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

于 2013-08-13T15:55:42.570 回答