发布时mvvmcross绑定在交换机上失败

Rou*_*hof 8 binding mvvmcross xamarin

我的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" />
Run Code Online (Sandbox Code Playgroud)
  • 编译版本:14级
  • 最低版本:14级
  • 目标版本:14级

  • 链接:仅限Sdk程序集

  • Android手机版本为4.1.2.

当我在调试模式下运行应用程序时,一切正常.

但是当我在Release中运行它时,对Checked属性的绑定失败,并出现以下错误:

E/MvxBind(11670):12,70未找到视图类型 - 切换

Kil*_*man 13

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

就像是:

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