Вы должны попробовать это наоборот: ваше представление (WPF) должно знать представление модели (оболочка), которая знает, как собирать данные, которые должны использоваться для сохраните файл Эта виртуальная машина должна знать модель (реализация сохранения вашего файла среди других моделей, таких как источники данных и т. Д.) И снабжать ее необходимой информацией.
Используя этот подход в сочетании с nootification, вы всегда можете поменять несколько частей, не затрагивая другие.
- Модель (задняя часть) полностью независима от всего остального.
- Представление может быть определено в другом месте и не должно использовать никакого кода позади (кроме определения виртуальной машины и некоторых событий). Связывается только с ВМ.
- модель просмотра собирает все вместе. Он предоставляет структуру данных, которая может быть использована и представлена в WPF. Через привязку виртуальная машина информирует WPF об обновлениях и т. Д.
В вашем случае:
- Дизайн приятного графического интерфейса
- Разработка виртуальной машины, которая может собирать всю необходимую информацию.
- Напишите метод, который принимает все параметры, необходимые для вашего файла.
- В обработчике события или команды (щелкните и т. Д.) Вызовите метод VM, который передает всю собранную информацию методу файла.