自定义可见性转换器-Android-版本(MvvmCross)

自定义可见性转换器-Android-版本(MvvmCross),第1张

概述我已经使用MvvmCross开发了适用于Android的应用程序.它的一部分应该显示ImageView或MvxImageView.当我在调试模式下对其进行测试时,它工作正常,但是当我将其更改为发布模式时,可见性转换器似乎停止工作.所有其他转换器都按应有的方式工作,只有那些转换器停止工作.我的xml简历:<Li

我已经使用MvvmCross开发了适用于Android的应用程序.它的一部分应该显示ImageVIEw或MvxImageVIEw.当我在调试模式下对其进行测试时,它工作正常,但是当我将其更改为发布模式时,可见性转换器似乎停止工作.所有其他转换器都按应有的方式工作,只有那些转换器停止工作.

我的xml简历:

<linearLayout    androID:layout_wIDth="match_parent"    androID:layout_height="wrap_content"    androID:gravity="center"    androID:orIEntation="vertical">    <ImageVIEw        androID:layout_wIDth="120dp"        androID:layout_height="120dp"        androID:scaleType="fitCenter"        local:MvxBind="Visibility MyObject, Converter=ByteInverseVisibility; AssetimagePath MyObject, Converter=AttachmentTypetoSource" />    <Mvx.MvxImageVIEw        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_marginleft="20dp"        androID:layout_marginRight="20dp"        androID:maxHeight="150dp"        androID:adjustVIEwBounds="true"        local:MvxBind="Visibility MyObject, Converter=ByteVisibility; Bitmap MyObject.Attachment, Converter=InMemoryImage" /></linearLayout>

转换器:

public class ByteVisibilityConverter : MvxBaseVisibilityValueConverter<MyObjectClass>{    protected overrIDe MvxVisibility Convert(MyObjectClass value, object parameter, CultureInfo culture)    {        if (value.AttachType == AttachmentType.Photo && value.Attachment != null)        {            return MvxVisibility.Visible;        }        return MvxVisibility.Collapsed;    }}public class ByteInverseVisibilityConverter : MvxBaseVisibilityValueConverter<MyObjectClass>{    protected overrIDe MvxVisibility Convert(MyObjectClassvalue, object parameter, CultureInfo culture)    {        if (value.AttachType != AttachmentType.Photo || value.Attachment == null)        {            return MvxVisibility.Visible;        }        return MvxVisibility.Collapsed;    }}

解决方法:

原因是包装中未包含“可见性”属性.

您必须添加类似以下内容:

public voID Include(ImageVIEw imageVIEw)    {        imageVIEw.Visibility = imageVIEw.imageVIEw;    }

在您的linkerPleaseInclude.cs文件中.

总结

以上是内存溢出为你收集整理的自定义可见性转换器-Android-版本(MvvmCross)全部内容,希望文章能够帮你解决自定义可见性转换器-Android-版本(MvvmCross)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1088179.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存