Самая сложная задача за весь период работы над этой программой
Сегодня я столкнулся с довольно непростой задачей. То есть с самой сложной за всё время разработки этой программы. Да я и чувствовал, что легко это не будет. Работа над макетом главного окна стала прямо така интеллектуальным вызовом для меня. Сделать сетку с панелями, в которой можно скрывать и открывать видимость этих панелей с изменением и сохранением размером ячеек сетки оказалось трудоёмкой работой. Сегодня я целый день посвятил этой работе но окончательного успеха пока не добился.
Пришлось поломать голову и прилично покодить для того, чтобы реализовать скрытие и показ только видимости панелей этого макета. И это всё, что я успел сделать за сегодня, так как возни с этим было достаточно. Панели теперь корректно показываются и скрываются. Даже уже работает сохранение видимости.
Вот, нажатием одной кнопки можно отобразить или скрыть видимость всех панелей. Но вот пока есть одна проблема: нельзя изменять размеры этих панелей с помощью перетаскивания так, чтобы потом корректно вычислить и применить новые размеры к элементам внутри сетки. Если точнее, размеры нужно применять не к самим панелям, а к ячейкам сетки контрола Grid, внутри которого они находятся. Размеры применяются только к ячейкам, а панели уже в свою очередь растягиваются под размеры этих ячеек. Вот такая layout-схема. Пока что размеры ячеек и следовательно, панелей выставляются равные.
Завтра мне необходимо сделать расчет размеров ячеек так, чтобы корректно подогнать панели пот очертания макета окна. Непростая работёнка. Придется взяться за математику или арифметику, сделать несколько правильных вычислений и насладиться уже наконец успехом. Необходимо просчитать такую схему, чтобы это взаимодействовало с сохранением параметров размеров в файловом кэше.
Для того, чтобы не было вот такой ерунды, как на скриншоте выше. Ведь после того, как перетянешь размеры какой-нибудь панели, то после переключения видимости панелей пока не восстанавливаются корректные размеры ячеек. Панели-контейнеры оказываются свёрнутыми в ноль и их приходится вытягивать от краёв окна. С этим мне возиться завтра целый день.
Не знаю, реализую ли я возможность перетаскивания панелей из одного контейнера в другой. Самое главное - это реализовать корректный просчет размеров ячеек сетки, ну а уж перемещение панелей дело второстепенное. Пока не уверен на счет этого, завтрашний день покажет. Ну а на этом у меня пока всё.




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