gpt4 book ai didi

xamarin.android - MvxImageView,无法将 ImageUrl 绑定(bind)到本地资源

转载 作者:行者123 更新时间:2023-12-04 17:22:07 24 4
gpt4 key购买 nike

我将 MvvmCross 3.0.14 与 Xamarin.Android 一起使用。

我有一个 MvxImageView,如果我使用 android:src 直接指定图像(没有绑定(bind)),我可以显示特定的本 map 形资源:

<Mvx.MvxImageView
android:layout_width="100dp"
android:layout_height="75dip"
android:layout_weight="1"
android:src="@drawable/Card_kh"/>

但是我无法使用 local:MvxBind 显示相同的图像:
<Mvx.MvxImageView
android:layout_width="100dp"
android:layout_height="75dip"
android:layout_weight="1"
local:MvxBind="ImageUrl 'res:Card_kh'"/>

这不起作用。 MvxAndroidLocalFileImageLoader.LoadResourceBitmap 记录一条跟踪消息,指示“Card_kh”不是已知的可绘制名称。令人鼓舞的是,它已经走到了这一步——至少我知道这些信息的预期消费者确实得到了它。但显然我没有以正确的格式提供该信息。

更进一步,我的实际目标是让我的 ViewModel 确定应该使用什么资源,例如
class MyViewModel : MvxViewModel
{
public string SomeImagePath { get { return "res:Card_kh"; } }
}


<Mvx.MvxImageView
android:layout_width="100dp"
android:layout_height="75dip"
android:layout_weight="1"
local:MvxBind="ImageUrl SomeImagePath"/>

我需要做什么才能将 MvxImageView 绑定(bind)到 View 模型确定的本地资源图像?

最佳答案

问题只是资源名称中的大写。虽然图像文件名以大写 C 开头,并且 android:src 属性与大写 C 一起使用,但 ImageUrl 的 MvxBind 需要小写 c:

<Mvx.MvxImageView
android:layout_width="100dp"
android:layout_height="75dip"
android:layout_weight="1"
local:MvxBind="ImageUrl 'res:card_kh'"/>

这也解决了 ImageUrl 值的来源是 viewmodel 属性时的问题:
class MyViewModel : MvxViewModel
{
public string SomeImagePath { get { return "res:card_kh"; } }
}


<Mvx.MvxImageView
android:layout_width="100dp"
android:layout_height="75dip"
android:layout_weight="1"
local:MvxBind="ImageUrl SomeImagePath"/>

关于xamarin.android - MvxImageView,无法将 ImageUrl 绑定(bind)到本地资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20940360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com