
我已经使用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)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)