如何在转换器中返回DrawableID?
我的布局文件:
<ImageVIEw androID:ID="@+ID/imgTest" androID:src="@drawable/img_Test" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:maxHeight="80dp" androID:maxWIDth="80dp" androID:layout_margin="20dp" androID:scaleType="fitCenter" local:MvxBind ="DrawableID MySwAPImage(true)" />
我在资源文件夹中有两个图像
> imgTest1.png
> imgTest2.png
我的价值转换器:
public class MySwAPImageValueConverter : MvxValueConverter<bool, int>{ protected overrIDe int Convert(bool value, Type targettype, object parameter, CultureInfo culture) { if(value) { // imgTest1 } else { // imgTest2 } }}
解决方法:
您的问题是此转换器不应位于您的.Core项目(您的VM所在的项目)中.此代码是特定于平台的,因为它将布尔值(与业务逻辑相关的内容)更改为Drawable(仅在AndroID上存在的内容).因此,它应该属于您的.DroID项目.
在我的项目中,我在DroID项目中创建一个Converters文件夹来存储我所有特定于平台的转换器. MySwAPImageValueConverter的代码应该如下所示
using System;using System.Globalization;using CirrIoUs.Crosscore.Converters;namespace MilkBottle.DroID.Converters{ public class MySwAPImageValueConverter : MvxValueConverter<bool, int> { #region Methods protected overrIDe int Convert(bool value, Type targettype, object parameter, CultureInfo culture) { var result = value ? Resource.Drawable.imgTest1: Resource.Drawable.imgTest2; return result; } #endregion }}
总结 以上是内存溢出为你收集整理的android – 如何将MvvmCross绑定到drawviewId到Imageview全部内容,希望文章能够帮你解决android – 如何将MvvmCross绑定到drawviewId到Imageview所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)