Здравствуйте, barn_czn, Вы писали:
_>Ну зря вы так про WPF. В целом он вполне логичен и красив.
На уровне хелловорлдов — да.

На практике в него понапихали абсолютно посторонние вещи, которые к declarative UI имеют лишь косвенное отношение.
Логичен? Кхе-кхе... вы говорите или про какой-то другой WPF, или не копали его настолько, чтобы навсегда потерять дар речи.
Я пишу ни бог весть какой сложный софт, но вот на элементарных задачах я просто офигевал, сколько приседаний нужно сделать для элементарных действий.
| | Ну вот как пример |
| | выровнять заголовок GroupBox вправо. ШТА?? То есть не headerAlign="right", а пиши свой полноценный лэйаут?? Ребят, вы в своём уме?
=========================================================================
Решил забайндить цвет колонки на проперть? Казалось бы...
<DataGridTextColumn Header="Expired" Binding="{Binding ExpiryDate}" Foreground={байндинг с конвертером} />
А на тебе поддых! Не будет лёгких путей, лезь в кишки и проводи хирургию внутренностей:
<DataGridTextColumn Header="Expired" Binding="{Binding ExpiryDate}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="TextBlock.Foreground" Value="{Binding ExpiryDate, Converter={StaticResource expiry2color}}" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
Серьёзно? Вот по таким типичным и тривиальным задачам я должен городить огород стилей? "Да иди ты в **опу, директор!" (ц) Масяня |
| | |
Это я ещё не писал примеры, где вообще без ШАБЛОНА КОНТРОЛА не обойтись(!!). Т.е. вместо решения бизнес задач ты занимаешься тем, что перекраиваешь существующие контролы только потому, что "всё кастомайзится" и ленивые индусы спихнули эту работу на тебя. Это вообще как?
_>>>- фильтрация, сортировка
K>>шта?? В дереве?
_>Ну да, почему нет? Клиент хочет сортировку по имени, и чтобы при смене имени состояние дерева не сбрасывалось . ЗАчем? Да хрне знает, я исполнитель.
"Нет", потому что отфильтрованное дерево перестаёт быть деревом. (если узлы — однородны) Сортировка — тоже только в пределах siblings.
_>Нее.. винформсы то чем лучше?
ВСЕМ. Начиная ПРОСТОТОЙ и кончая скоростью.
_> Я и на WPF просто откажусь от ItemsPreenter-ов и просто на уровне визуального дерева поработаю.
Тут ничего кроме насмешливого "Удачи!" сказать не могу.

Я понимаю, что
принципиально можно сделать и на WPF, но вот удалять гланды через анус — не мой принцип. И писать тысячу строк кода ради одной финтифлюшки — тоже.
_>И MVVM конечно заюзаю, вот тут то WPF всяко лучше винформсов
Ничем абсолютно. MVVM строго говоря вообще НИКАК не соотносится с WPF, это просто дизайн классов. Такое и в WinForms можно сделать легко — bindings взяли именно оттуда.