#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:
Следующий путь обучения поможет вам прочно встать на путь
- Узнайте о свойствах зависимостей
- Напишите простое управление панелью стека — познакомьтесь с переопределениями упорядочения и измерения
- Используйте DP с
AffectsArrange
для установки ориентации - Напишите элемент управления SimpleListBox — привязка к списку скаляров (скажем
List<string>
) - Обновите элемент управления SimpleListBox для поддержки
INotifyCollectionChanged
- Обновите элемент управления SimpleListBox для поддержки привязки к свойству списка ( скажем
FirstName
, вклList<Person>
.) - Слабый список
- Вы, вероятно, захотите поддержать привязку к
DataTable
s, поэтому добавьте поддержку IListSource, ITypedList, IBindingListView и IBindingList - Для обеспечения хорошей оперативности вам, возможно, потребуется реализовать собственную панель виртуализации
- Добавьте поддержку шаблонов
Ответ №4:
Несколько дней назад Microsoft выпустила сетку данных как часть набора инструментов WPF:
См. Инструментарий WPF в октябре 2008 года в codeplex
Вы можете использовать привязку и проверку данных.