Как сериализовать контроль + код в WPF?
У меня есть холст, который содержит несколько пользовательских элементов управления, который в свою очередь содержит другие объекты. Я хочу сериализовать холст и сохранить все привязки данных и все визуальное дерево (не все объекты могут быть описаны в xaml).
Я думал, что создание пользовательского элемента управления, который расширяет холст и добавляет возможность сериализации, решит эту проблему.
Таким образом, вопрос: это правильный подход? Если нет, каков наилучший способ сделать это?
2 ответа
Я нашел одну работу вокруг. То есть помещать сведения о несериализуемых объектах в словарь или другую структуру данных и сериализовать их, а затем извлекать их там при десериализации объекта.
Однако это звучит не очень правильно для меня:/ Также я думал использовать XamlWriter и сериализацию для сериализации элементов управления, но опять же я не думаю, что это лучший подход.
Вы должны понимать, что ваш пользовательский интерфейс - это просто способ показать состояние вашего докладчика. Если вы используете режим презентации или MVVM, вы можете просто сериализовать своего докладчика. Это решит все ваши проблемы