Форма данных времени выполнения! - PullRequest
0 голосов
/ 01 сентября 2010

У меня есть таблица, которая содержит детали содержимого формы, вот детали

InputType (значение = Текст / Радио / CheckBox, ....)

IsRequired (True / False)

OrderedAnswers (содержат опции, доступные для Радио / флажок)

....

что я хочу,

создает страницу во время выполнения, которая содержит соответствующие элементы управления, и страница передает значения каждого элемента управления службе.

В этот момент я создал форму данных, но не могу определить табличку данных динамически, чтобы я мог добавить к ней панель стека, а в панель стека я добавлю элементы управления (на основе значения). Можете ли вы предоставить некоторый код, который должен динамически создавать табличку данных и элементы к ней?

спасибо

Джамал.

1 Ответ

1 голос
/ 12 апреля 2011

Полагаю, вы хотите добавить стековую панель с элементами управления к определенному свойству (например, с помощью DataForm Silverlight)

первый захват события AutoGeneratingField, т.е.

this.myDataForm.AutoGeneratingField +=new EventHandler<DataFormAutoGeneratingFieldEventArgs>(AutoGeneratingFieldHandler);

затем в обработчике событий

void AutoGeneratingFieldHandler(object sender, DataFormAutoGeneratingFieldEventArgs e)
{
  if(e.PropertyName=="myPropertyNameWithCustomField")
  {
     StackPanel pnl = new StackPanel();
     pnl.SetValue(StackPanel.OrientationProperty, Orientation.Horizontal);
     ComboBox cbo = new ComboBox();
     //setup binding to base
     Binding b = new Binding("myPropertyNameWithCustomField") { Mode = BindingMode.TwoWay };
     cbo.SetBinding(ComboBox.SelectedValueProperty, b);
     //add the combo to the stackpanel
     pnl.Children.Add(cbo);
     //replace the autogenerated content with the stackpanel
     e.Field.Content=pnl;
     e.Field.IsRequired=true;
  }
}

Это должно помочь вам начать настройку DataForm с пользовательскими элементами управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...