Из интерфейса выпилено всё, что касается радактирования свойств
Вынес стиль группы свойств в отдельный ресурс
FullCleanup для XAML-файлов
FullCleanup для WritingPropertiesViewModel
Затеян гигантский рефакторинг:
Менеджер свойств (не работающий) вынесен из модели представления записи свойств
Свойства разбиты на модель и модель представления (пока пустую)
Введены модели хранилища
Упразднены активные модели представления для хранилищ
Системные свойства переделаны в описатели свойств
Набросана PropertyViewModel
Исправление ошибок, теперь компилируется, запускается, загружаются свойства
Если при чтении ячейки выяснилось, что такой ячейки нет в списке, она пропускается. Вообще то, это не правильно, но пока что не совсем ясно, что с этим делать.
Созданы модели представления для подробного представления списка свойств, реализовано считывания свойств и отображение их в плохо приемлимом виде.
Вернул группировку свойств
DetailedPropertiesViewModel теперь выдаёт настроеный ListCollectionView вместо ReadOnlyObservableCollection
В PropertyModel добавлено совйство Status, показывающее статус синхронизации свойств в базе и МПХ
WritingPropertiesViewModel теперь правильно обрабатывает выбор null-локомотива
Добавлены модели представления для значений свойств
К PropertyValueViewModel прикручен UniversalLocalisedObjectToStringConverter для отображения значений на русском языке
Более аккуратная работа со значениями свойств в разных полукомплектах МПХ, значения, разделённые по полукомплектам пробрасываются до уровня фабрики PropertyValuesViewModel, где учитываются при формировании строки CurrentValue в соответствующей модели представления
Для PropertyEncoding.GetEncoding() добавлены перегрузки, позволяющие явно (а не через строковое имя) указать тип свойства
Добавлен вывод неизвестных свойств в список
Исправлены ошибки в SystemProperties: исправлена опечатка в названии словаря SystemStores и исправлена ошибка в его составлении
Теперь при прочтении неизвестного свойства проверяется, нет ли такого свойства среди системных, и, если есть, строится соответствующая модель
В PropertyViewModel проброшен статус синхронизации свойств