Ну вот, как вчера я и обещал, сегодня имею результаты исправлений, о которых писал вчера, в своем предыдущем посте. Тот ужасный косяк-костыль сегодня мной с большим удовольствием был выкинут и заменен на гораздо более рациональное и стабильное решение. Да, если получше покумекать то можно что-то накумекать. Вот так я сегодня и сделал. Теперь привязки в меню стартового экрана работают нормально, без "дергания" кнопок и сразу. И проблем с локализацией теперь нет - все локализуется на лету. Конечно, для этого потребовались очень немаленькие усилия, выжавшие меня как лимон. Но зато теперь все стало куда лаконичнее и прозрачнее. Меню ленты наследуется от вкладочного контрола Авалонии. Это решение мне далось с большим трудом - пришлось долго возиться, выискивать несколько раз неожиданно возникающие проблемы и т.п.
Ну а от излишеств я действительно избавился. Вот, теперь есть только одно главное меню, оно на верхнем скриншоте представлено. Выпадающее меню на ленте я выпилил. Подумал, подумал, да и решил, зачем городить кучу огородов, которые себя по сути дублируют. Вот и убрал второе меню. Теперь нет в программе ничего лишнего. И работает намного стабильнее. Но все же до конца идеально сделать не получается. Как ни бейся головой об стену, к идеалу можно только приближаться, но реально его достичь не получится. Никогда. Хоть большие костыли я и выкинул, от мелких все-же не удалось отказаться. Некоторые особенности потребовали реализации кривого кода. Ну уж что тут поделаешь, приходится с чем-то мириться.
Ну а завтра у меня будет ещё один день переделывания. Сами вкладки ленточного окна у меня все еще реализованы по кривой схеме, которую нужно сто процентов поправлять. И буду снова наследоваться от вкладочного контрола Авалонии. Это позволило выкинуть из кода много кривых реализаций, понижающих стабильность работы программы. Так что вот такие пироги. Завтра снова будем перепиливать косяки.
Ну и на этом я хотел закончить свой рабочий день. Так что до новых постов и до новых свершений.
