Как разработать элемент управления сеткой данных WPF, который поддерживает привязку данных? - PullRequest
3 голосов
/ 13 октября 2008

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

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

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

Ответы [ 4 ]

2 голосов
/ 13 октября 2008

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

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

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

0 голосов
/ 30 октября 2008

Microsoft выпустила несколько дней назад DataGrid в составе WPF Toolkit:

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

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

0 голосов
/ 30 октября 2008

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

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

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

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

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

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