Начало работы над пользовательскими контролами
День сегодняшний выдался нелёгким. Вот уже скоро десять часов вечера и я целый день работал над программой. Ни на что уже времени не осталось. Пришлось целый день посвятить этому делу. Сегодня начал переносить из черновика в чистовик пользовательские контролы, которые создал в предыдущей версии DataMaker. С утра я немного повошкался над главными настройками программы, так как в разделе настроек "оформление" произошли некоторые изменения - ведь я затачивал настройки интерфейса под новые стандарты и реалии, вот пришлось и заниматься правкой настроек в C#-классе. Эти настройки можно будет менять в самой программе. Всё по желанию пользователя.
Ну а потом я начал клепать и пользовательские компоненты. Неплохо так клепал (правда, всего один контрол) а потом добрался до 'CustomWindow'. Вот там я столкнулся, как бы помягче выразиться, с небольшой загвоздкой. С этим я, между прочем, уже ранее сталкивался. Если коротко, то была проблема с привязкой данных в шаблоне контрола. Я уже просто отчаялся и ко мне в голову уже начали лезть мысли о том, что зря я вообще клепаю эту программу и что если у меня не получится разрешить эту проблему, то даже придётся бросить создание программы. Вот такой я "оптимист", когда встречается головоломка, на которую приходится тратить время часами. Но мне бы сегодня не пришлось тратить лишние два часа работы, если бы я не был таким оленем. Да, иногда я мучаюсь часами по причине того, что мои глаза в течении длительного времени не могут чего-то разглядеть. Вот так получилось и сегодня. Я никак не мог наладить привязку данных к элементам в XAML-шаблоне контрола. Я уже всякие делал предположения - и грешил на косяки авалонии, и грешил на свои косяки в коде и стилях оформления программы. Всё тщетно, проблема упорно не желала разрешаться. Что же делать? Не ужели это капец моей разработке? Я попал в тупик, ведь без привязки данных я не мог реализовать необходимый функционал контролов, а это означает моё поражение. При этом привязка не работала только во всплывающих элементах, таких как контекстное меню или выпадающий список. В других же элементах привязка на странность работала. В чём же дело, ломал я голову.
В конце-концов глаза мои прозрели (спустя пару часов попыток разглядеть вещи такими, какие они есть) и я нашёл, как выкрутиться из этого тупика. И дело в том, то есть обидно в том, что когда я делал свой "черновик", то я сумел додуматься до решения данной проблемы. А в этот раз не смог. Вот как важно запоминать такие моменты, чтобы потом иметь возможность быстро разрулить такие ступоры. Но в этот раз я дал маху и всё позабыл, и даже никаких пометок не сделал. Но обиднее всего то, что я открыл свой старый исходник с уже решенной данной проблемой, но я примерно в течении часа не мог разглядеть участка кода, который содержал решение проблему. Ну почему! Почему мои глаза порой не видят того, что находится у меня прямо перед глазами!? Короче, в конце концов, я узрел и внёс поправки в свой чистовик. И о аллилуйя! Привязки заработали, проблема решена, я с облегчением выдохнул! Ура и браво. Вот только идеале нужно было это вспомнить или додуматься снова. Ну теперь то я должен это запомнить и помнить всегда и во веки веков.
Ну а на сегодня наконец всё и я могу перейти к отдыху уже. А в выходные я буду заниматься другими делами. 3D моделированием и написанием новых материалов для своего сайта. Вот такие пироги. Всё. И до новых статей. Я надеюсь, как всегда.

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