绑定到文本 属性 ios-统一无效

Binding to Text property ios-unified not working

我将我的 xamarin ios-项目更新为统一的 API(64 位支持)。一切都按预期进行。项目构建并运行。

但是我发现了一个问题。绑定到 UILabel.Text 属性将不再有效。所有其他绑定仍在工作(例如 UIButton.Hidden 属性)。这是我的代码:

// Create bindings
var set = this.CreateBindingSet<MyView, MyViewModel>();
set.Bind(labelitem)      // not working
    .For(t => t.Text)
    .To(v => v.MyStringValue);
set.Bind(buttonitem)     // working
    .For(b => b.Hidden)
    .To(v => v.MyboolValue)
    .WithConversion(new InverseBoolValueConverter());
set.Apply();

我正在使用 MvvmCross 进行绑定。在统一更新之前一切正常。

首先,我尝试将 Linker-Option 更改为 "don't link"。同样的问题。

谁能给我解释一下,这是怎么回事?谢谢

编辑

我在调试我的项目时在输出中发现了一个信息:

Weak Target is null in MvxUILabelTextTargetBinding - skipping set

最新 Xamarin "stable" 版本中的新 GC 有一些人看到了一些问题,其他人没有看到(可能是 VS 和 XS 之间的差异 - 目前还不清楚...)。您可以在 https://github.com/MvvmCross/MvvmCross/issues/902 (with some background on )

上阅读这些内容

http://slodge.blogspot.co.uk/2015/02/351-alpha-release.html 中尝试解决这些问题 - 请尝试 alpha 包,看看它们是否有帮助。

如果不是,那么目前唯一可接受的解决方法是将您的 UILabel 提升为视图中的私有变量。