Факт отсутствия класса [Serializable] можно объяснить двумя способами. Это может быть ошибка упущения, более распространенный случай. Или класс может просто не поддерживать сериализацию. Что не является необычным, классы часто зависят от состояния, которое невозможно точно воспроизвести во время десериализации, потому что это зависит от глобального состояния программы. Любой из элементов управления Windows Forms был бы хорошим примером, их нельзя десериализовать, не имея собственного окна Windows, которое находится в требуемом состоянии, состоянии, которое часто требует создания других окон (например, окна контейнера) и много сообщений.
Ну, это не поможет вам реализовать ваш визуализатор. Вы не можете надежно реализовать это с сериализацией. Однако использование отражения дает вам доступ к тем же свойствам и значениям полей. И отражение всегда поддерживается.