У меня есть ситуация, когда мое определение определения (то есть содержимое, которое отображается в файле макета) определяется в структуре json. Мне нужно определить эту структуру json вместе с привязками, а затем мой код должен иметь возможность динамически создавать элементы управления на основе структуры json и заполнять макет.Как визуализировать элементы управления, определенные в структуре Json, используя MvvmCross?
Я могу выполнить то же самое с использованием кода ниже.
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, но я не знаю, как это сделать.
я наткнулся на эти три образца решения а) CustomerManagement б) CustomerManager.AutoView Здесь я вижу, что у нас есть BaseCustomerEditView.cs где Eсть структура JSON определена, но код закомментирована. с) DialogExamples
Пара вопросов
1) Что разница между использованием AutoView и MvxDialog? Это одно и то же?
2) Существуют ли потенциальные ограничения с использованием структуры управления, определенной в json-файле. Я вижу одну проблему, связанную с выравниванием. У нас не будет никакого контроля над выравниванием элементов управления, определенных в json-файле.
3) Как добиться рендеринга/связывания с использованием структуры, определенной в json-файле?
Ждем ваших ответов.
Большое спасибо за руководство Стюарт. На самом деле мои требования еще более сложны и трудно объяснить здесь. Мне просто интересно, могу ли я отправить вам резюме того, что мы пытаемся выполнить, и может быть, если у вас есть время, вы можете нам помочь. Ours - это корпоративное приложение, и оно не так просто, как кто-то, определяющий элементы управления в файле макета и привязывающий его к модели представления. – Amit
Моя компания может предложить консультации - см. Http://www.cirrious.com/2012/11/contact-us.html - но это не в полной мере относится к вопросам StackOverflow – Stuart
Спасибо Stuart. Цените свой ответ. – Amit