2010-08-19 5 views
0

У меня есть объект конфигурации, который содержит значения, которые будут заполнены в пользовательском интерфейсе. Этот объект можно сериализовать в XML-файл, чтобы пользователь мог сохранять и загружать текущее состояние графического интерфейса «на лету». Сам объект является свойством, которое я добавил в свой код для окна XAML.Обновление источника данных для привязок интерфейса WPF

Если каждый элемент управления пользовательского интерфейса в этом окне привязан к свойству в объекте конфигурации, я могу заменить объект десериализованной копией XML-файла конфигурации во время выполнения и ожидать, что элементы управления пользовательского интерфейса будут автоматически подключаться к новый объект?

В качестве альтернативы, есть ли способ прокрутки, который я могу сделать в окне, чтобы уведомить все дочерние элементы управления, чтобы обновить их привязки, указанные в XAML?

Или мне нужно идти к каждому элементу индивидуально и каждый раз возвращать исходный элемент?

ответ

1

Это зависит от того, как элементы интерфейса привязаны к объекту конфигурации. Если они проходят через отдельное свойство, содержащее объект (например, привязка к Configuration.ConfigParam, где Configuration является свойством вашего объекта DataContext), то установка нового значения в Configuration будет работать до тех пор, пока либо Configuration является DependencyProperty, либо классом, содержащим свойство Configuration реализует свойство INotifyPropertyChanged для конфигурации.

Смежные вопросы