Работа над макетом главного окна завершена. Временное решение
Вечер четверга и подошла приготовительная работа по встраиванию контрола компоновки в главное окно программы. На этот раз не стал с нуля две недели делать собственное решение, а взял библиотеку, дополняющую экосистему Semi Design. А именно - DockControl. Я и раньше пытался приладить этот контрол к своему проекту (далеко прошлому, не текущему) но тогда там возникали некоторые проблемы. Да и тогда этот DockControl не был прилажен к дизайн-системе Semi. А сейчас эта поддержка появилась и контрол этот смотрится вполне органично и вписано в общий дизайн окна. Так почему бы нет? Это пока что будет временным решением. Есть там несколько моментов, которые немного подпорчивают общую катрину, но на донном (начальном) этапе на это пока можно закрыть глаза.
Ну, например. Там во вкладках документа нельзя задать иконку для их заголовков. Как выход, можно приладить свои XAML-шаблоны в эти заголовки. Но это опять-таки трата времени. А моя цель сейчас не заморачиваться подолгу на второстепенных деталях, чья реализация может подождать своей будущей поры. Ну и ещё на этих самых заголовках вкладок не отобразишь (опять же без хирургического вмешательства в шаблона) состояния несохраненных изменений в представлении таблицы. Например, во вкладке находится таблица DataGrid и там были произведены изменения отображенных данных. И во вкладке лучше всего вывести индикатор этих изменений, чтобы сразу были видны эти изменения. Пока что я решил оставить это на потом. Как знать, может я это и реализую, когда дойду до работы над видом таблиц в интерфейсе. Ну а до тех пор - что есть, то есть.
Ещё мне не удалось отображение панелей в компоновки в свернутом виде по умолчанию (при ее инициализации). Вот все панели видимы изначально. Благо, что-то из них можно свернуть и потом сериализовать. И при десериализации должен появиться сохраненная форма компоновки (как я надеюсь). Ну или нужно с этим контролом долго и нудно копаться и разбираться. Как-то так, что сейчас не очень хочется, ввиду спешки. Ладно, пока и с этим свыкнемся. На копошения с настройками сейчас не буду тратить время.
Ну и вот он, тот самый макет на скриншоте:
Ну и есть ещё и третий момент - там не слишком в моём вкусе сделана реализация отображения заголовков вкладок, которые не поместились в видимой области полосы этих вкладок. Раньше у меня был реализован вынос невидимых заголовок в выпадающее меню полосы вкладок. Но тут всё отображается внутри WrapPanel-компоновщика, и заголовки просто выстраиваются в ряд. Как по мне, так это не слишком современная реализация. Нынче модна описанная выше. Но это уже дело третье. Пока что не до вкусов. Сойдет и этот вид контрола. Пока не придет пора и я не заменю DockControl на что-то более современное и гибкое. Так что вот так.
Ну вот, собственно, это и была на этот и вчерашний день основная работа. Еще были кое-какие мелочи. Например, сделал приготовления для будущей реализации смены языковых локализаций интерфейса. Пока у меня там одна локализация. Но в будущем локализации можно и добавить. но сейчас, опять же для экономии времени, будем использовать одну локализацию. Так что вот так.
Ну а дальше по плану работа над C# классом для проектов базы данных и работа над классами для работы с БД SQLite, а также парсер и билдер SQL-запросов в объекты-сущности. Но тут мне должен помочь Cursor с его ИИ со скоростью реализации всего этого. Так что я с этим затягивать не должен.
Ну а пока на этом всё. Ну и теперь уже до новых постов и до новых свершений.


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