binding - 交换机上的 mvvmcross 绑定(bind)在发布时失败

标签 binding xamarin mvvmcross

我的 MVVMCross 应用程序中有一个奇怪的错误。

考虑以下场景:

<Switch
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:focusable="false"
    android:clickable="false"
    android:layout_alignParentRight="true"
    android:id="@+id/activatedSwitch"
    local:MvxBind="Checked IsActive" />
  • 编译版本:14级
  • 最低版本:14级
  • 目标版本:14级
  • 链接:仅 SDK 程序集
  • 安卓手机版本为 4.1.2。

  • 当我在 中运行应用程序时调试 模式,一切正常。

    但是当我在 中运行它时发布 ,绑定(bind)到 Checked 属性失败,出现以下错误:

    E/MvxBind (11670): 12,70 View type not found - Switch

    最佳答案

    由于 MvvmCross 使用反射来执行数据绑定(bind),链接器看不到 Checked属性,并且未将其包含在您的二进制文件中。有一个文件名LinkerPleaseInclude.cs您可以编辑以添加对此属性的引用。

    就像是:

    public void Include(Switch @switch)
    {
        @switch.CheckedChange += (sender, args) => @switch.Checked = !@switch.Checked;
    }
    

    关于binding - 交换机上的 mvvmcross 绑定(bind)在发布时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21505349/

    相关文章:

    c# - XAML 中的 WPF ListView 绑定(bind) ItemsSource

    wpf - 在 WPF 中为 TreeViewItem 创建事件处理程序

    WPF 绑定(bind)验证 - ComboBox SelectedItem 将无法验证

    c# - 如何在 xamarin 表单中显示进度条通知

    xamarin - 如何让模板调用方法?

    ios - mvvmcross ios 方法绑定(bind) (RIO)

    c# - MvvmCross 自定义事件绑定(bind)事件参数

    c# - 将可观察集合绑定(bind)到 XAML 中的 ListBox

    visual-studio - UWP 和 Xamarin 构建失败且没有输出

    ios - 在Xamarin.iOS Unified API中安装MvvmCross.Core