Радость окончания работы над контролом Document сменилась ужасом разочарования от обновления Авалонии
Сегодня у меня для вас господа, хорошая и плохая новости. С какой начать? Ну начнём, как водится, с хорошей новости. Недавно я наконец-то на двенадцатый день закончил работу над контролом Document. С трудом смекалки реализовал механизм сохранения и восстановления состояния вкладок и групп вкладок и ещё даже добавил придуманную сегодня функцию по перемещению целых групп вкладок в контейнере документа с помощью драг-анд-дропа. Отлично. Сделано, работает хорошо, несравнимо лучше того, что у меня было в моём черновике. Этот контрол наконец-то готов к использованию и мучения над ним по большей части завершены. Но вот под конец для меня привела в ужас и по-настоящему плохая новость.
Это обновление, привнёсшее ухудшения. Ощутимые ухудшения. Список немаленький. Так, с чего бы начать... Новая версия авалонии именуется 11.0.0-preview-5. Уже пятая по счёту превью, начиная с начала лета прошлого года. Пишут, что скоро будет первая релиз-кандидат версия. Итак, что же не так в новой версии авалонии?
Ну во-первых, после установки новой превью версии авалонии вся программа засветилась красными волнистыми линиями, и я понял, что программе абзац, что-то "полетело". Немного покопавшись, я обнаружил, что из авалонии был удалён интерфейс IControl. По каким причинам - бог его знает, чужая душа, что называется - потёмки. Ладно, поправляем, там где был IControl исправляем на Control. Что ж, без интерфейса, но напрямую к классу. Хочется верить, что этому были разумные причины. Так, это мелочи, идём дальше.
Теперь хуже - почему-то был удалён контрол для вывода списка элементов под названием ItemsRepeater. Там, где он у меня использовался - всё в красных линиях ошибок. Я нашел контрол под названием ItemsControl, выполняющий аналогичную функцию. Чуток повозился, заменил ItemsRepeater-ы на ItemsControl-ы. Кое-что в них пришлось подправить. Идём далее.
Были изменены и удалены некоторые свойства элементов ItemsPresenter, которые встраивались в шаблоны некоторых контролов для вывода списка элементов. Ладно, подправил и их, адаптировал к новым, мне непонятным реалиям. Исключили из них, в частности, VirtualizingMode. Может быть (по моему предположению) разработчики не сумели сделать корректно работающий режим виртуализации и просто решили плюнуть на это. Не знаю, только псу одному известно. Ладно, едем дальше...
Из контрола DataGrid убрали свойство для окраски чередующихся строк. Теперь нельзя альтернативный цвет строк таблиц задать через свойство, а нужно лезть в стили и определять его там с помощью CSS-аналогичного свойства nth-child. От этого я по-настоящему недоумеваю. Может быть, там его переименовали и оно как-то по-другому называется? Пролистал свойства DataGrid - нету ни черта. С точки зрения здравого смысла это невозможно понять. Чем руководствовались контрибуторы - остаётся только гадать. Ладно, переживём. Самое худшее ещё впереди, так что едем дальше...
Полностью перестал подключаться и работать контрол, который я уже тесно интегрировал в свои диалоговые окна для работы с файловой системой - TreeDataGrid. Я использовал его для вывода списка файлов в локальных директориях. Всё работало нормально и беда не предвещалась. Я обрадовался сегодня, что наконец-то доделал свой многострадальный контрол и он работает хорошо, как меня огорошили этой новостью. И теперь мне надо думать о том, чтобы делать теперь собственный аналогичный контрол или приспособить DataGrid или TreeView. Короче, шандец зелёный. Не знаю, что теперь мне делать. Видимо тот TreeDataGrid версии 11.0.0-preview-4 не совместим с пятой версией превью авалонии. И что же мне делать? Ждать несколько недель или скорее месяцев, когда выпустят обновлённый TreeDataGrid. Это капец, так я не могу. Я в одиночку такой контрол сделаю гораздо быстрее, чем эти улитко-скоростные команды контрибуторов. Не знаю, короче, надо думать, буду думать.
Ну и наконец вишенка на торте! Подсветка в редакторе определенных ключей ресурсов. Она больше не подсвечивается в стилях и шаблонах, не автодополняется. Мне теперь надо залить и копипастить имена ключей ресурсов, чтобы прописывать их в шаблонах и стилях. До этого обновления всё с этим было нормально. Короче, ужас какой-то. Где радость, где горе, на одной полосе не усидишью Всё, мне пора заканчивать на сегодня и надо теперь думать о том, что делать дальше. Ничего гарантировать не могу.
P.S. Вот что значит делать продакшн-продукт на сырой, неготовой, нестабильной предварительной платформе. Мне бы надо по-хорошему полгодика подождать, когда эту систему доведут до ума и она будет стабильной, то есть с обновлениями не будет случаться вот таких обломов как сейчас. А сейчас самый большой облом и жесть с этой авалонией за всю её история. Я теперь не знаю, как будет выглядеть и работать всё то, что я уже сделал на фронтенде! Мне ещё всё это предстоит проверять. А что, если кругом будут косяки. Я и правда не знаю, что делать. Так что программа моя сейчас под вопросом. Не знаю, что будет дальше. Короче, я вам, мои несуществующие читатели, сообщу об этом завтра. А на сегодня я уже выдохся со всеми этими делами. Будем думать...
- alexeypalagin
- 0
- 37

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.