我有一个带有MvvmCross的Xamarin Android项目。 为了测试,我添加了一个带有HslBackground属性的CustomImageView
public class CustomImageView : ImageView
{
private HslColor _hslBackground;
public CustomImageView (Context context)
: base(context) { }
public CustomImageView (Context context, IAttributeSet attrs)
: base(context, attrs) { }
public HslColor HslBackground
{
get { return _hslBackground; }
set
{
if (_hslBackground != value)
{
_hslBackground = value;
byte r, g, b;
value.ToRGB(out r, out g, out b);
this.Background = new ColorDrawable(new Color(r, g, b));
}
}
}
}
这是我的布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Example.MVVM.Droid.Controls.CustomImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/colorView"
android:adjustViewBounds="true"
local:MvxBind="HslBackground HslColor" />
</LinearLayout>
我在HslBackground
属性中添加了断点,但是调用了getter和setter。知道该怎么办?我正在使用Nuget的最新MvvmCross。
更新1 : 我在日志中看到
MvxBind:Error: 0.99 View type not found - md56c24830106cce038b53f4325e503c583.CustomImageView
MvxBind:Error: 0.99 View type not found - md56c24830106cce038b53f4325e503c583.CustomImageView
[art] JNI RegisterNativeMethods: attempt to register 0 native methods for md56c24830106cce038b53f4325e503c583.CustomImageView
更新2
将属性绑定到TextView
工作
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="24dp"
local:MvxBind="Text HslColor" />