我有一个定义了自定义模板的MvxListView。一般情况下,绑定效果很好。我看到标签绑定了。但绑定时不是BackgroundColor属性:
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
local:MvxBind="Text Name;BackgroundColor
NativeColor(HexColor(Color))">
我尝试使用Color
属性作为stringn
这是最复杂的&#34;版本我尝试了最后一个(HexColor是我的自定义ValueConverter)。因为之前有20个不同的,但没有一个工作。颜色是我尝试Color(Color)
和NativeColor(颜色)(相应于this),没有转换器,background
,Background
,backgroundColor
,但没有帮助。
我也检查过,看起来插件设置好了Color。
那么,有什么想法吗?谢谢!
答案 0 :(得分:1)
为了使Color插件正常工作,请确保在本机项目的ColorPluginBootstrap
文件夹中包含Bootstrap类Bootstrap
:
using MvvmCross.Platform.Plugins;
namespace MyProject.Mobile.Droid.Bootstrap
{
public class ColorPluginBootstrap
: MvxPluginBootstrapAction<MvvmCross.Plugins.Color.PluginLoader>
{
}
}
如果你有正确的设置,那么你可以根据MvxColorValueConverter<T>
制作自己的颜色转换器,例如:
public class BooleanToBicolorConverter : MvxColorValueConverter<bool>
{
protected override MvxColor Convert (bool value, object parameter, System.Globalization.CultureInfo culture)
{
// returns gray or white depending whether value is true or false.
return value ? new MvxColor (215, 215, 215) : new MvxColor (255, 255, 255);
}
}
你这样使用它:
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
local:MvxBind="Text Name; BackgroundColor BooleanToBicolor(MyBoolProperty)">
如果您想将MvxColor
ViewModel绑定到View,可以使用MvxNativeColorValueConverter,如下所示:
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
local:MvxBind="Text Name; BackgroundColor NativeColor(MyMvxColorProperty)">
您可以找到其他Mvx基色转换器here
HIH