Вот и завершился пятничный день. У меня в конторолах для авалонии вчера поздно вечером случилось пополнение: добавил пакет через нагет под названием TreeDataGrid. Этот компонент является как бы миксом из Treeview и DataGrid. Он отображает в виде таблицы иерархические древовидные данные. Это можно использовать, например, для создания файлового менеджера. Я думаю, что реализую для своей программы простенький файловый менеджер для открытия файлов и папок и для сохранения файлов. в замен стандартным диалоговым окнам.
В прошлый раз, некоторое время назад я уже пробовал установить данный контрол в набор библиотек своей программы, но тогда всё закончилось провалом: не подключался файл стилей для этого компонента, выбрасывалось исключение. Теперь всё работает нормально. Я в том числе и стилизовал контрол под свои темы оформления. Обидно только, что забыл сделать скриншот контрола, а снова возиться с подключением демо-данных для этого компонента ради скриншота мне уже не охота. Сделаю этот скриншот потом, когда задействую данный элемент в интерфейсе (когда буду делать файловые диалоги). Но до этого надо ещё добраться 😀
Сегодня сделал не очень много. И как всегда (КАК ВСЕГДА) не успел доделать всего, что наметил на день. Мне уже пора делать привычкой то, что я никогда не буду успевать доделывать все намеченные дела. А именно остановился сейчас я на реализации клавиатурных сокращений для функций программы. Реализовал только парочку шорткатов, но осталось их сделать ещё десятки. Куда не плюнь, а по-началу казавшаяся простой задача превращается в часовую и даже в несколькочасовую возню с умственным изнурением. Из-за этого работа идет намного медленнее, чем ты предполагаешь до того, как к ней приступить.
Вот сегодня утром захотелось мне реализовать красивую схему конфигурации программы: сделать связку из класса настроек, привязок к визуальным элементам. Ничего не вышло. Убил на это часа три, плюс ко всему пришлось проект восстанавливать с гитхаба потому что возник баг, из-за которого нарушилась работа предварительного просмотра интерфейса программы в обозревателе Rider IDE. Когда что-то правишь в программе целый день, а потом вдруг к вечеру обнаруживаешь какой-нибудь косяк, который непонятно как возник, то более простое решение в этом случае это откатится к прошлой сохраненной резервной копии своей программы, а потом повторное внедрение произведенных за день изменений с отслеживанием появления этого бага. Ну так вот я его и отследил, понял в чем дело. А дело это было из-за того. что я решил навести красоту в структуре кода программы и внес туда изменения, привнесшие беспорядок. Пришлось всё отменить, и смириться с тем, что невозможно всё сделать так красиво, как ты хочешь. Тут уж ничего не поделаешь, таковы особенности программной платформы, на которой ты работаешь
И какую огромную важность играет резервное копирование и сохранение данных, с которыми работаешь. Если случиться накладка и всё - ты круто попал. Но когда есть резервная копия - то ты к ней откатываешься без проблем. Вот такие дела.
И всё-таки завтра я хочу доделать эти клавиатурные сокращения, хотя и не планировал работу с программой на этот уикенд. но надо, надо доделать, а потом на уикенде, заняться и другими делами. Ну а пока на этом всё.
