Ну вот и всё, работа по большей части с элементом Layout завершена, всё корректно работает, настраивается, переставляется, сохраняется и восстанавливается. Возможны только небольшие поправки, когда я буду этот элемент уже перманентно прилаживать к интерфейсу окна, впрочем как и с другими моими пользовательскими контролами. Вообщем, сборка покажет.
Ну а сегодня я заработался и уже больше ничего не сделаю, потому что человек имеет лимит сил и нужно отдыхать от дел. Закончил вот только что, времени уже много. Закончил на не очень радужной ноте. А всё связано с тем, что разработчики авалонии подложили свинью и контрол TreeDataGrid, который уже ранее был встроен в мои файловые диалоговые окна, накрылся медным тазом и не работают. И когда контрибуторы этого контрола исправят это безобразие - один только леший знает. Через полмесяца, месяц, полгода. А может и вовсе забъют. Фиг знает. Котороче, на этот контрол можно больше не рассчитывать.
И вот я приступил к реализации его альтернативы. Использовал TreeView. То есть создал пользовательский контрол на его основе.
Вот на скриншоте. Получилось всё неплохо (украсил даже иконками, чего раньше не делал) - файлы корректно выводятся, выборка элементов работает нормально, можно создавать файлы и папки в выбранных путях и сразу с обновлением видеть результат их создания. Всё это неплохо, казалось бы. Если бы только не ложка дёгтя (на данный момент). Дело в том, что получить доступ к элементам дерева я не смог. Этот способ или хорошо запрятан, либо его вовсе нет. Ведь авалония пока - забагованный продукт, кто знает. Если я не смогу получить доступ к элементам иерархии дерева то я не смогу управлять ими из кода позади. Я не смогу из кода открыть в дереве нужный путь к файлу. А это почти ставит крест на использовании данного контрола. Маячит не очень радостная перспектива пилить свой контрол аналог дерева элементов, где можно управлять элементами списка из кода.
Короче, завтра, с утра (когда утро вечера мудренее) может быть я и смогу что-нибудь придумать. А может быть и не смогу, потому что нет способа получить из кода доступ к элементам дерева TreeViewItem. Вообщем, завтра напишу пост о своих результатах. Ну а на сегодня у меня всё, пока буду кумекать над тем, что можно сделать.

