среда, 2 апреля 2008 г.

Типизированный WPF data binding

Я уже писал, что реализацию датабайдинга в WPF нельзя назвать элегантной. В связи с этим, я начал размышляя на тему, как бы скрыть всю эту нетипизированность и конверторы. В новой версии C# у нас же есть lambda expression и AST, т.е. есть возможность вытаскивать имена свойств (и даже цепочки свойств) в типизированном виде. Вот что получилось на текущий момент.
В качестве примера я взял преобразование над парой свойств FirstName и LastName. На форме два поля и ниже выводится FirstName+LastName большими буквами

Вот как это выглядит в коде



Все типизировано и без конвертора

В дальнейшем будет возможность указывать не DependencyProperty, а просто свойство контрола, как-то так


В случае одного свойства промежуточный класс не нужен, и будет совсем просто


Работающий код можно посмотреть здесь

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