【问题标题】:Binding to Text property ios-unified not working绑定到文本属性 ios-unified 不起作用
【发布时间】:2015-04-10 05:18:53
【问题描述】:

我将我的 xamarin ios-project 更新为统一 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 进行绑定。在统一更新之前一切正常。

首先我尝试将链接器选项更改为“不链接”。同样的问题。

谁能解释一下,发生了什么?谢谢

编辑

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

MvxUILabelTextTargetBinding 中的弱目标为空 - 跳过集

【问题讨论】:

    标签: c# binding xamarin.ios xamarin mvvmcross


    【解决方案1】:

    在最新的 Xamarin“稳定”版本中使用新的 GC,有些人看到了一些问题,有些人没有看到(可能 VS 和 XS 之间的差异 - 不清楚......)。您可以在https://github.com/MvvmCross/MvvmCross/issues/902 上阅读这些内容(在Migrating to Unified API and new reference counting 上有一些背景知识)

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

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

    【讨论】:

    • 私有变量解决方法解决了这个问题。感谢您的回答和有用的链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    相关资源
    最近更新 更多