Работающая, но сильно глючащая машина
Команды на чтение и запись свойств тоже сделаны IDisposable и теперь тоже умеют отписываться от событий
Наивные ожидания работы DispatcherObject не оправдались, и тепреь ссылку на текущий Dispatcher я беру тупо из App.Current.Dispatcher, что, конечно, тоже тупо
Добавлен Debug.Indent() вокруг вывода Can-сообщений
Ресурсы приложения разбиты на несколько словарей. Удалены ресурсы, испольуземые в редакторе свойств
Набросок кнопки добавления локомотива
Обобщил работу со страницами, замутил возможность создавать вложенные страницы. Теперь добавление локомотива можно будет забабахать прямо в окне программы!

PS: Нахера я на это потратил весь вечер? :(
Вещи, связанные с работой с МПХ перенесены в из MainVшewModel в ManagePropertiesViewModel
Отдельный словарь ресурсов для кистей
Добавлена (пока не работает) страница создания локомотива
Всё-таки сделал, чтобы окно по высоте выравнивалось к содержимому
Небольшая косметика с шаблоном добавления локомотива
Добавлена визуализация для отображения списка требуемых свойств
Значение RequiredLocomotivePropertyViewModel тепреь хранится в виде Object и проверяется при вводе
Теперь команда создания локомотива првоеряет, чтобы все его требуемые свойства были заполнены
Добавление локомотива в базу при нажатии кнопки "Создать" на странице добавления локомотива
Введён интерфейс для создания базы данных и соответсующая ему фабрика
Добавлен TranslateLocoBaseSource, помогающий передать один контекст на несколько операций
После создания локомотива происходит автомотическое переключение на него
Страница создания локомотива создаётся с уже выбранным типом локомотива, соответствующим типу локомотива в шапке