我的 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" />
当我在 中运行应用程序时调试 模式,一切正常。
但是当我在 中运行它时发布 ,绑定(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/