绑定到 MonoDroid/Android 的 MvvmCross 中的路径 ImageView

2024-03-04

在我的案例路径中"MyZooSnap.Core;component/Resources/Images/i.jpg"。 Android 的路径转换方法ImageView? 为了在以下绑定中使用它:

{'AssetImagePath':{'Path':'ImagePath'}}

更多这里 https://stackoverflow.com/questions/12914544/ssue-with-binding-to-gridlayout-to-android

类似的问题 https://stackoverflow.com/questions/12876406/how-to-bind-an-image-src-to-resource-drawable-image-with-mvvmcross

Thanks


快速回答:

  • 如果您的 Android 图像文件存储在assets/images/i1.png
  • 然后确保它被标记为AndroidAsset
  • 那么你的路径需要是images/i1.png

更长的答案:

理想情况下,您的 ViewModel 应该独立于平台,并且不了解 View 问题。

因此,您的 ViewModel 可能会公开如下属性:

 private GameState _state;
 public GameState State 
 { 
     get { return _state; }
     set { _state = value; RaisePropertyChanged(() => State); }
 }

其中 GameState 是一个枚举,例如:

 public enum GameState
 {
     Stopped,
     Running,
     Paused,
     GameOver
 }

然后,您可能会在资产结构中拥有代表这些状态的图像,例如:

/assets/gamestates/stopped.png
/assets/gamestates/running.png
/assets/gamestates/paused.png
/assets/gamestates/gameover.png

其中每个文件都标有 AndroidAsset 的 BuildAction。

要在 UI 中显示正确的图像,您需要一个值转换器,例如:

public class GameStateConverter
    : MvxBaseValueConverter
{
    public override object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return string.Format("gamestates/{0}.png", ((GameState)value).ToString().ToLower());
    }
}

使用转换器包装器进行映射,例如:

public class Converters
{
    public readonly GameStateConverter GameState = new GameStateConverter();
}

它是在 setup.cs 中使用以下配置的:

    protected override IEnumerable<Type> ValueConverterHolders
    {
        get { return new[] { typeof(Converters) }; }
    }

完成此操作后,您的 axml 绑定语句将是:

    {'AssetImagePath':{'Path':'State', 'Converter':'GameState'}}

有关使用资源而不是资产的替代方法,请参阅MvxButtonIconBinding in 将 GridLayout 绑定到 Android 的问题 https://stackoverflow.com/questions/12914544/ssue-with-binding-to-gridlayout-to-android

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绑定到 MonoDroid/Android 的 MvvmCross 中的路径 ImageView 的相关文章

  • Windows 上使用 g++ 的 Makefile,链接库

    我已经厌倦了 MSVC 6 以及每个人总是告诉我它是一个蹩脚的编译器等等 所以现在我决定尝试使用 vim 加 g 和 makefile 这是我的问题 我有以下 makefile This is supposed to be a commen
  • 检查列表是否包含另一个列表。 C#

    编辑 只是说 ContainsAllItem 中的注释解释得最好 很抱歉问这个问题 我知道以前有人问过这个问题 但我只是不明白 好的 所以我想检查一个列表是否包含另一个列表中的所有项目WITHOUT重叠 以及根据类字符串 名称变量 称为项目
  • 切换图片框可见性 C#

    为什么图片框控件的可见性属性在这里不起作用 我最初将它们设置为 false 以便在屏幕加载时它们不可见 但后来我想切换这个 我已完成以下操作 但似乎不起作用 这是一个 Windows 窗体应用程序 private void Action w
  • WebClient读取错误页面的内容

    我有一个加载页面内容的应用程序 我使用 WebClient 类 即使服务器返回 404 500 等错误 我也需要检索内容 我需要这样的东西 WebClient wc new WebClient string pageContent try
  • C# 中的协变和逆变

    首先我要说的是 我是一名正在学习 C 编程的 Java 开发人员 因此 我会将我所知道的与我正在学习的进行比较 我已经使用 C 泛型几个小时了 我已经能够在 C 中重现我在 Java 中知道的相同内容 除了几个使用协变和逆变的示例 我正在读
  • 为什么派生类不使用基类的operator=(赋值运算符)?

    以下是实际问题的简化版本 而不是打电话Base operator int 代码似乎生成了一个临时的Derived对象并复制它 既然函数签名似乎完美匹配 为什么不使用基本赋值运算符 这个简化的示例没有显示任何不良影响 但原始代码在析构函数中有
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • 使用反射获取基类的受保护属性值

    I would like to know if it is possible to access the value of the ConfigurationId property which is located in the base
  • QThread - 使用槽 quit() 退出线程

    我想在线程完成运行时通知对象 但是 我无法让线程正确退出 我有以下代码 处理器 cpp thread new QThread tw new ThreadWorker connect tw SIGNAL updateStatus QStrin
  • 为什么重载方法在 ref 仅符合 CLS 方面有所不同

    公共语言规范对方法重载非常严格 仅允许根据其参数的数量和类型来重载方法 如果是泛型方法 则根据其泛型参数的数量进行重载 根据 csc 为什么此代码符合 CLS 无 CS3006 警告 using System assembly CLSCom
  • 如何不在类中实现接口的功能?

    面试时面试官问了我以下问题 但我不知道这个问题的答案是什么 请帮忙 如果我不想 我必须做什么 在我的类中实现一个函数 在接口中声明为 由我班实施 Edited 我正在使用 NET 和 C 如果有人可以提供 C 示例代码示例 那就太好了 Th
  • 是什么原因导致 Linq 错误:此方法无法转换为存储表达式?

    我有一堆具有相同 select 语句的 Linq to Entity 方法 所以我想我会很聪明 并将其分离到它自己的方法中以减少冗余 但是当我尝试运行代码时 我得到了以下内容错误 该方法不能转化为 商店表达式 这是我创建的方法 public
  • asp.net c# 防止在从服务器端代码更改索引时触发 selectedindexchanged 事件

    我在同一个 aspx 页面上有两个下拉列表控件
  • 理解 C++11 中的 std::atomic::compare_exchange_weak()

    bool compare exchange weak T expected T val compare exchange weak 是 C 11 中提供的比较交换原语之一 它是weak即使对象的值等于 它也会返回 falseexpected
  • 有没有更好的方法来获取每个项目与谓词匹配的子序列?

    假设我有一个 IEnumerable 例如 2 1 42 0 9 6 5 3 8 我需要获得与谓词匹配的项目的 运行 例如 如果我的谓词是 bool isSmallerThanSix int number 我想得到以下输出 2 1 0 5
  • 你能解释一下这个C++删除问题吗?

    我有以下代码 std string F WideString ws GetMyWideString std string ret StringUtils ConvertWideStringToUTF8 ws ret return ret W
  • 如何使用 ASP.NET Web 表单从代码隐藏中访问更新面板内的文本框、标签

    我在更新面板中定义了一些控件 它们绑定到中继器控件 我需要根据匿名字段隐藏和显示用户名和国家 地区 但问题是我无法以编程方式访问更新面板中定义的控件 我如何访问这些控件 我也在网上查找但找不到很多参考资料 下面是来自aspx页面和 cs页面
  • 程序退出后,TcpListener Socket 仍处于活动状态

    当我的程序退出时 我试图停止 TCP 侦听器 我不关心套接字或任何活动客户端套接字上当前活动的任何数据 套接字清理代码本质上是 try myServer Server Shutdown SocketShutdown Both catch E
  • 使用剪贴板 SetText 换行

    如何使用 SetText 方法添加换行符 I tried Clipboard SetText eee n xxxx 但当我将剪贴板数据粘贴到记事本中时 它没有给我预期的结果 预期结果 eee xxxx 我怎样才能做到这一点 Windows
  • 如何确定给定方法可以抛出哪些异常?

    我的问题和这个真的一样 找出 C 中方法可能抛出的异常 https stackoverflow com questions 264747 finding out what exceptions a method might throw in

随机推荐

  • 您如何搜索/访问用户数据?

    我想提醒正在注册的用户 他们选择的电子邮件地址已在我们的用户库中 在他们注册之前 同时 如何将他们 所需的 电子邮件与我的用户列表中的用户进行比较 用户到底存储在哪里以及如何访问该数据节点 您应该有一个用户节点 其中包含您的用户以及有关他们
  • 在 silverlight 中使用 MVVM 模式设置可见性

    我在银光下取了一个网格 最初 textbox2 是不可见的 当我单击 textbox1 时 我们必须看到 textbox2 我尝试如下
  • 如何使用 PrimeFaces 验证码?

    我经历了用户指南 http www primefaces org documentation html和showcase http www primefaces org showcase ui captcha jsf但找不到在支持 bean
  • RxSwift:立即交付第一个项目,对后续项目进行反跳

    我有一个文本字段需要验证 我想在用户键入时禁用按钮 用户停止输入后 1 秒去抖 将执行验证并根据结果有条件地启用按钮 请注意当用户仅键入一个字符时的极端情况 验证仍然应该发生 a ab abc ab a ab false validate
  • 在camerax中捕获没有音频的视频

    我想使用camerax api在应用内相机中捕获没有音频的视频 我使用的是beta10的camerax api 我尝试过设置音频缓冲区大小和音频源等 截至此答案尚不支持 但当使用camerax库完全发布视频录制时 这将是可能的 最好的方法是
  • 如何对星期几进行直方图并具有字符串标签

    我有一个日期数据框 日期对象 见底部 我试图将它们转换为星期几 然后绘制直方图 但理想情况下标签是 星期一 星期日 不是数字 我有两个不同的问题 这很容易将日期对象转换为星期几 https stat ethz ch pipermail r
  • Rails 服务器错误:Ruby 版本是 1.8.7,但您的 Gemfile 指定为 1.9.3

    我输入了现有的 ruby 应用程序 然后输入 导轨 想在这里启动rails服务器 但它说 您的 Ruby 版本是 1 8 7 但您的 Gemfile 指定为 1 9 3 事实上 我有一个1 8 7 但我把它删除了 如果我这样做 红宝石 v
  • 我想在matlab中计算两行的平均值

    我在 matlab 中有一个 1028 x 18 矩阵 我想在 Matlab 中计算第一行和第二行按列值 第三行和第四行等的平均值 并得到一个具有平均值的新矩阵 我想你想计算每对行的列平均值 将数组重塑为 2 x 18 1028 2 计算平
  • RenderScript 支持库在 x86 设备上崩溃

    我正在运行致命异常android support v8 renderscript 在 Razor i x86 设备 上 如果我使用 问题就会消失android renderscript ARM设备也没有问题 这是例外情况 03 03 18
  • Spyder IDE 中的重复日志条目和锁定日志文件

    我想要的 我的 python 脚本运行 将日志消息输出到控制台和文件 一旦 python 脚本完成运行 我希望能够删除 编辑日志文件 我在 Windows7 上使用 Spyder IDE 示例代码 import logging loggin
  • Paypal 沙盒帐户电子邮件确认

    我在开发者网站上创建了一个沙箱帐户 当帐户所在国家 地区不在列表中时 一切都很好 然后 我通过 创建测试帐户 网站中的链接创建了另一个帐户 该帐户所在的国家 地区不在之前的列表中 它的电子邮件未经确认 我找不到激活它的方法 没有它我就无法接
  • 从 Dropzone 中删除任何现有文件会显示 dictDefaultMessage

    我创建了一个显示服务器上现有文件的放置区 我添加了有效的删除链接 我的问题是 当我使用删除链接删除文件时 默认的 将文件拖到此处上传 消息会出现在拖放区中 即使仍然有缩略图 我已经关注了这个tutorial http www startut
  • 自定义验证属性:比较同一模型中的两个属性

    有没有一种方法可以在 ASP NET Core 中创建自定义属性来验证一个日期属性是否小于模型中的其他日期属性ValidationAttribute 可以说我有这个 public class MyViewModel Required Com
  • quartz.NET 的任何开源管理 UI

    是否有任何开源管理界面可以在 QUARTZ NET 调度程序中添加 编辑 删除作业和触发器 看看这个blog http bugsquash blogspot com 2010 06 embeddable quartznet web cons
  • Magento:SQLSTATE [23000]:违反完整性约束:1062 键“UNQ_SALES_FLAT_ORDER_IN”的重复条目“100000001”

    我已经安装了 Magento 1 9 0 1 并且已经上线 1 个月了 客户的第一个订单没有出现任何问题 但现在 当应该处理订单时 会出现以下错误消息 处理您的订单时出错 请联系我们或稍后重试 日志文件说 异常 PDOException 消
  • Kafka s3 连接“值不是结构类型”错误

    我使用以下参数加载 s3 连接器 confluent load s3 sink name s3 sink config connector class io confluent connect s3 S3SinkConnector task
  • jenkins 服务无法在 Windows 2008 上启动

    我正在尝试将 Jenkins 作为服务安装在 Windows Server 2008 Datacenter SP2 上 我似乎无法让它作为服务运行 寻找任何想法来帮助实现它 当我尝试使用本机 Windows 软件包安装 Jenkins 时
  • Android,是否可以从拨号器运行该应用程序?

    我需要 如果可能的话 为我的项目添加一种功能 以便在用户输入诸如 之类的代码时运行1234 在拨号器中 我不确定这是否可能 目前 当我从应用程序文件夹中午餐我的应用程序时 它会启动 但只是为了好玩 我想知道我可以使用代码来午餐吗 您可以通过
  • 如何使用护照和快递显示自定义错误消息

    我在注册用户时检查电子邮件是否已经存在 如果用户已经存在 我会传递错误消息 电子邮件已存在 但在前端它显示 未经授权 错误401 我想传递我从后端传递到前端的错误消息 但它传递了默认消息 下面是我检查用户是否已存在并发送错误消息的方法 ex
  • 绑定到 MonoDroid/Android 的 MvvmCross 中的路径 ImageView

    在我的案例路径中 MyZooSnap Core component Resources Images i jpg Android 的路径转换方法ImageView 为了在以下绑定中使用它 AssetImagePath Path ImageP