使用属性和mvvmcross绑定自定义ImageView

时间:2015-05-19 15:01:58

标签: binding xamarin xamarin.android mvvmcross

我有一个带有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" />

0 个答案:

没有答案