android– 如何将MvvmCross绑定到drawviewId到Imageview

android– 如何将MvvmCross绑定到drawviewId到Imageview,第1张

概述如何在转换器中返回DrawableId?我的布局文件:<ImageViewandroid:id="@+id/imgTest"android:src="@drawable/Img_Test"android:layout_width="wrap_content"android:layout_height="wrap_content"android:maxHeig

如何在转换器中返回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所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1119215.html

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

发表评论

登录后才能评论

评论列表(0条)

保存