Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
21.07.2011, 17:10
|
|||
---|---|---|---|
|
|||
Использование Model classes напрямую для байндинга в XAML |
|||
#18+
всем привет. "Архитекрурный" вопрос: есть необходимость привязать свои модельные классы к узлам TreeView используя байндинг. Узлов много (до десятков тыс), поэтому включена treeview UI virtualization. Кроме всего прочего, понадобится механизм для удобного программного раскрытия и селектирования узлов - т.е. классу, который будет байндится, понадобятся свойства IsSelected, IsExpanded для байндинга в TreeViewItem style. И собственно вопрос: Моим потребностям для визуализации ПОЧТИ отвечают базовые model classes. Если я прямо к ним прикручу реализацию INotifyPropertyChanged inteface, а также добавлю свойства IsExpanded и IsSelected, то все мои потребности для WPF байндинга будут удовлетворены. Но вообще говоря, правильно было БЫ создать обертку - новый viewmodel class, куда бы вынести и реализацию интерфейса, и двух этих свойств. Смущает то что надо вводить новую сущность и инстанциировать ее для каждого инстанса модельного класса. А это многие тысячи. В итоге вопрос что предпочесть - "неправильный" MVVM, где прямо в модели добавляются фишки для WPF/байндинга или вводить-таки отдельный VM class? У кого-нибудь были подобные "дилеммы"? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.07.2011, 17:46
|
|||
---|---|---|---|
|
|||
Использование Model classes напрямую для байндинга в XAML |
|||
#18+
sandyp, Смотрите на это с другой стороны: ваша Model автоматически превратится в ViewModel и MVVM от того не станет "неправильным", что может стать "неправильным", так это ваш бизнес слой. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
21.07.2011, 17:53
|
|||
---|---|---|---|
|
|||
Использование Model classes напрямую для байндинга в XAML |
|||
#18+
sandyp, Из своего опыта могу сказать что делать обертку для IsSelected и т.д. - это только лишние трудозатраты. Но это мое IMHO. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=21&tablet=1&tid=1442223]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 324ms |
total: | 486ms |
0 / 0 |