Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > usercontrol биндинг коллекции


Автор: rujmaster 5.9.2011, 09:30
Всем добрый день.

Потребовалось для своего usercontrol'a привязать коллекцию. Объекты коллекции должны содержать определенные поля.
Например:
Код

    public class Question
    {
        public int RecOrder { get; set; }

        public string ShortName { get; set; }

        public string Name { get; set; }

        public string Answer { get; set; }
    }


Сам контрол является оберткой над винформ компонентом. Винформ компонент - perpetuum ReportViewer, содержащий шаблон отчета с жестко зафиксированными именами полей. 

На данный момент я просто привязываю обычную коллекцию, в code-behind просто передаю коллекцию "в отчет":
Код

  public readonly static DependencyProperty QuestionsProperty =
            DependencyProperty.Register("Questions", typeof(IEnumerable), typeof(FormQuestionReportViewer));


   protected override void OnReportViewerLoad(object sender, EventArgs e)
   {    
            reportViewer.AddDataSource("AddonQuestionSource", this.Questions);
   }



т.е в xaml это выглядит вот так:
Код

<reporting:FormQuestionReportViewer Questions="{Binding Path=Questions}" />     


Т.е можно привязать коллекцию с любыми объектами.

Хотелось бы более правильного решения с явным указанием биндинга полей объекта коллекции.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)