ビュー定義 (つまり、レイアウト ファイルに表示されるコンテンツ) が json 構造で定義されている状況があります。バインディングと共にこの json 構造を定義できるようにする必要があり、コードは json 構造に基づいてコントロールを動的に作成し、レイアウトを埋めることができる必要があります。
以下のコードを使用して同じことを達成できます。
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
FirstViewModel firstViewModel = new FirstViewModel()
{
Id = 1001,
FirstName = "Amit",
MiddleName = string.Empty,
LastName = "Taparia",
Race = "Asian",
IsUSNational = false
};
this.ViewModel = firstViewModel as IMvxViewModel;
var bindings = this.CreateInlineBindingTarget<FirstViewModel>();
this.Root = new RootElement("Main View", null, null).
{
new Section("Personal Information")
{
new StringElement("Employee#","Enter Employee#").Bind(bindings,vm => vm.Id)
new EntryElement("FirstName","Enter First Name").Bind(bindings,vm=>vm.FirstName),
new EntryElement("MiddleName","Enter Middle Name").Bind(bindings, vm=> vm.MiddleName),
new EntryElement("LastName","Enter Last Name","Amit",null).Bind(bindings, vm => vm.LastName),
new EntryElement("Race","Enter Race").Bind(bindings,vm => vm.Race),
new BooleanElement("US National",true,).Bind(bindings, vm => vm.IsUSNational).
},
};
}
しかし、json ファイルで定義された構造を使用して同じことができる必要があります。MvvmCross を使用してこのようなことができることは知っていますが、これを行う方法がわかりません。
これらの 3 つのサンプル ソリューションに出くわしました。c) ダイアログの例
いくつかの質問
1) AutoView と MvxDialog の使用の違いは何ですか? それは同じものですか?
2) json ファイルで定義された制御構造を使用する潜在的な制限はありますか。アライメントに関連する問題が 1 つあります。json ファイルで定義されたコントロールの配置を制御することはできません。
3) json ファイルで定義された構造を使用してレンダリング/バインディングを実現する方法は?
あなたの応答を楽しみにしています。