Как разработать элемент управления WPF datagrid, поддерживающий привязку данных?

#wpf #data-binding

Вопрос:

Я довольно новичок в WPF. Я хочу разработать элемент управления datagrid, который поддерживает привязку данных.

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

Я не ожидаю простого ответа на этот вопрос, было бы неплохо дать ссылку, чтобы я начал.

Ответ №1:

Планируете ли вы создать элемент управления DatGrid?. Здесь есть один http://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=14963

Привязка является одной из важных функций WPF, функция Dependancyproperty фактически предоставляет элементу управления возможность привязки и прослушивания событий изменения данных(Привязка данных). Когда вы разрабатываете свой элемент управления, вам не нужно делать ничего особенного, чтобы привязка данных работала, просто нужно определить соответствующие свойства зависимостей для элемента управления,

Вы можете прочитать больше о привязке данных здесь http://msdn.microsoft.com/en-us/library/ms752347.aspx

Комментарии:

1. Существует также бесплатная экспресс-версия Xceed WPF DataGrid. xceed.com/Grid_WPF_Intro.html

Ответ №2:

Спасибо за ответ.

Да, когда я сказал «сетка», я имел в виду «сетку данных». Я отредактировал вопрос, чтобы сделать это более ясным.

В статье на MSDN main описывается, как использовать привязку данных, и не слишком много говорится о том, что вам нужно сделать, если вы хотите разработать WPF-элемент управления, поддерживающий привязку данных.

Комментарии:

1. если вам нужно написать что-то подобное, лучше, чтобы вы изменили вопрос, как вы это сделали. Но вместо того, чтобы публиковать это как ответ, вы должны публиковать это как комментарий против Радости.

Ответ №3:

Следующий путь обучения поможет вам прочно встать на путь

  1. Узнайте о свойствах зависимостей
  2. Напишите простое управление панелью стека — познакомьтесь с переопределениями упорядочения и измерения
  3. Используйте DP с AffectsArrange для установки ориентации
  4. Напишите элемент управления SimpleListBox — привязка к списку скаляров (скажем List<string> )
  5. Обновите элемент управления SimpleListBox для поддержки INotifyCollectionChanged
  6. Обновите элемент управления SimpleListBox для поддержки привязки к свойству списка ( скажем FirstName , вкл List<Person> .)
  7. Слабый список
  8. Вы, вероятно, захотите поддержать привязку к DataTable s, поэтому добавьте поддержку IListSource, ITypedList, IBindingListView и IBindingList
  9. Для обеспечения хорошей оперативности вам, возможно, потребуется реализовать собственную панель виртуализации
  10. Добавьте поддержку шаблонов

Ответ №4:

Несколько дней назад Microsoft выпустила сетку данных как часть набора инструментов WPF:

См. Инструментарий WPF в октябре 2008 года в codeplex

Вы можете использовать привязку и проверку данных.