Очень длинный день с меню и Авалонией
Вот уже как 12 часов я сегодня не покладая рук вожусь со своей программой. Не получается закончить рабочий день. А день сегодня был очень долгий и трудный. С меню ситуация следующая. Во-первых нет, стилизовать нативное меню не удалось, сделать это нельзя, на то, видимо, оно и нативное. Но делать свой контрол-расширение для элементов обычного меню не придется - можно просто добавить чекбоксы в контент самих элементов меню или заменить стандартный шаблон элементов меню с использованием своего шаблона.
Меню вообщем стилизовал, вышло неплохо. И, подумав, понял, что не нужно париться, создавая какой-то лишний контрол.
Вот начал реализовывать возможность сокрытия панелей на главном окне. Тут пришлось немало исхитриться. Да, всё тут не так просто. Вернее, скрыть сами панели - это дело плёвое. Но вот сделать так, чтобы одновременно с этим сворачивались и ячейки у компонента Grid, было довольно непростым делом. Пришлось создать хитрую комбинацию из привязок, конверторов и дополнительных манипуляций в геттерах и сеттерах свойств модели представления главного окна. Работа далеко не окончена. Сделал функциональной только левую панель, пара ещё осталась. И это не считая того, что нужно будет еще реализовать сохранения состояния макета окна программы. Для этого потом я создам C# класс для работы с файловым кешем. Делал я уже это много раз, так что вспомнить должен.
Свинья от Авалонии.
Столкнулся я сегодня с весьма неприятным сюрпризом, что отняло у меня три (!) дополнительных часа времени. Из-за чего я не успел сегодня сделать другие дела, которые откладывал в течении всей недели! Сегодня я увидел, что доступна для установки новые версии установленных в пакет программы библиотек, в том числе новая версия авалонии. Но вот подстава. Эта новая (preview-2) версия оказалась забагованной! При компиляции программы в конечный дистрибутив (в единый файл) программа ломается и падает! Не работает совсем, короче. О, ужас! У меня когда скомпилированная программа не запустилась была ужасная мысль: как же я найду ошибку, где она, ведь я работал по сути целый день, и мог допустить ошибку в коде, не отследив это. В чем всё коварство, это то, что никакой ошибки не было в debug и release компиляциях программы. Только в продакшн-версии! Да, пришлось баг поискать, изрядно повозиться, отменить все сделанные изменения, откатившись к сохраненной ранее версии на гитхабе, и он нашелся: всё дело в новой версии авалонии. Подложили такую свинью! Хочется надеется, что в ближайшее время это будет исправлено, иначе будет очень и очень нехорошо! Иначе обновляться будет просто нельзя!
Ну а мне пора. Время уже позднее, а я всё никак закончить не могу. Продолжение следует... Завтра...



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