Android プロジェクトでは、MvvmCross の CrossLight 部分を使用してデータバインディングを追加しようとしています。標準の TextView/Buttons へのバインディングはうまく機能します。しかし、Mvx.Control を使用した最も単純なマークアップ:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
<Mvx.MvxListView />
</LinearLayout>
エラーを出す
"Binary XML file line #1: Error inflating class Mvx.MvxListView"
同じことですMvx.Spinner
。ただし、 のコードからインスタンス化する場合Activity.OnCreate
:
_bindingContext = new MvxAndroidBindingContext(this, new LayoutInflaterProvider(LayoutInflater), _viewModel);
var view = (LinearLayout)_bindingContext.BindingInflate(Resource.Layout.Main, null);
SetContentView(view);
var spinner = new MvxSpinner(this, null, new MvxAdapter(this, _bindingContext));
view.AddView(spinner);
すべてがうまく機能します(バインディングを含む)。私は何を間違っていますか?このシナリオは一般的にサポートされていますか? それとも、 nuget 以外のものを参照する必要がありますMvvmCross.HotTuna.CrossCore
か?
PS githubでもN+1 ビデオでも、カスタム コントロールと CrossLight を使用したサンプルは見つかりませんでした