MVVMCross Custom Control и привязка

Я создал пользовательский элемент управления (CustomCard), который является подклассом элемента управления CardView. Я хотел бы использовать этот элемент управления в моем проекте в разных местах.

Например, я могу поместить карту CustomCard в макет xml вручную или я хочу, чтобы карта CustomCard была элементом в MvxListView. Ключевым моментом является то, что я хотел бы использовать код как можно больше и получить выгоду от контроля над классом CustomCard.

Когда создается карта CustomCard, я раздуваю ее макет с помощью стандартного макета, см. Код:

using System;
using Android.Animation;
using Android.Content;
using Android.Support.V7.Widget;
using Android.Util;
using Android.Views;
using Android.Widget;
public class Card : CardView
{

    private readonly Context _context;

    public Card(Context context)
        : base(context)
    {
        _context = context;
        Init();
    }

    public Card(Context context, IAttributeSet attrs)
        : base(context, attrs)
    {
        _context = context;
        Init();
    }

    private void Init()
    {
        var inflater = (LayoutInflater) _context.GetSystemService(Context.LayoutInflaterService);
        CardView = inflater.Inflate(Resource.Layout.base_card, this);
    }
}

В макете base_card.xml у меня есть некоторые элементы, которые я хотел бы связать с помощью MVVMCross, например,

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white">
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:local="http://schemas.android.com/apk/res-auto"
  android:id="@+id/basecard_title"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
    <!-- Title Text-->
    <TextView
    android:id="@+id/tv_basecard_header_title"
    style="@style/card.title"
    android:text="title text"
    local:MvxBind="Text Title"
    />
    <!-- ImageView -->
    <MvxImageView
    android:id="@+id/ib_basecard_header_button_expand"
    style="@style/card.image"
    local:MvxBind="Bitmap ImageBytes,Converter=InMemoryImage"/>
  </RelativeLayout>
</FrameLayout>

Мой фактический макет base_card намного сложнее.

Если я пытаюсь использовать свою CustomCard в другом XML-макете, привязка не выполняется. Я думаю, что это потому, что я использую стандартную разметку для раздувания моей base_card в моей CustomCard, а не BindingInflate (), но я не уверен.

Я искал на SO и на форумах, но не могу найти никаких ссылок на кого-либо, использующего пользовательский элемент управления, который раздувает его собственное представление при создании экземпляра с привязкой MVVMCross.

Кто-нибудь сделал это, или я пытаюсь сделать что-то, что невозможно?

Ответы на вопрос(1)

Ваш ответ на вопрос