Готов "шрифтовый" диалог, приступил к созданию файловых диалогов

Вот. Для меня это как картина, которой я любуюсь. Посмотрите на эту гармонию форм и цветов, на богатство элементов управления! Закончил сегодня диалоговое окно для настроек шрифта. Вот так оно сейчас замечательно выглядит да и работает тоже без упрека. Что ж, хоть что-то получается, дело, хоть и не так быстро как хотелось бы, движется вперёд.
Далее я перешел к созданию диалоговых окон для работы с файловой системой. Типа проводника, но только, разумеется, очень упрощенная версия. Нет у меня времени создавать полноценную замену проводнику, хоть и хочется этого. День сегодня прошел опять в штатном режиме. Всё шло как надо. Работал как над дизайном, так и над C# кодом. Вот, например, тоже картина программистской живописи:
Заскриншотил сегодня больше, да вот, зараза, "ловкая" рука удалила эти скриншоты. Ну да ладно, скриншоты - это дело наживное :)
Закончил работу на сегодня. По программе, а не совсем на сегодня. Но при работе над окном для обзора папок на компьютере возникло одно затруднение, которое придется решать уже завтра. Использую я для вывода списка файлов контрол под названием "TreeDataGrid", который в отдельности поставляется к авалонии. Там у меня возникли резонные нарекания. Ну как, например, можно определить обработчик события "onselectionChanging", но позабыть про обработчик уже завершенного или применённого состояния выделения "onselectionchanged"? Блин, мне в том (первом указанном) обработчике события пришлось выставлять задержку времени для того, чтобы получить доступ к текущему выбранному элементу этого контрола, иначе к нему нет доступа - только если подождать сколько-то там миллисекунд. Вообще, этот контрол похож на TreeView который выполнили в виде таблицы. Вот его-то я и решил использовать для вывода списка файлов в своих диалогах. Ну да ладно, эту проблему я решил и теперь можно выбирать и сохранять директории. Но вот есть там одна проблема, над решением которой мне ещё предстоит побиться. Там нет обработчиков событий, которые нужно вызывать тогда, когда группа элементов в дереве сворачивается или разворачивается. Всё дело в том, что я не могу прочитать все файлы на компьютере юзера сразу и добавить тут же их в дерево элементов данного контрола. Нужно подгружать элементы в дерево, когда будер развернут элемент, предполагающий наличие в нём вложенных элементов. Вопрос: как сделать так, чтобы на действие сворачивания и разворачивания группы уровня элементов происходила реакция (событие) и я мог подгрузить элементы в нужный узел древовидной иерархии элементов данного контрола? Пока что полковник его знает, как говориться. Завтра нужно будет что-то придумывать по этому поводу.
Ладно, а на сегодня у меня по этой теме всё, пойду делать что-нибудь другое. Сообщу вам завтра, что у меня получилось (или не получилось). Но очень хочется надеется на первое.

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