Ответ на вопрос «Должен ли я использовать привязку данных в WPF?»почти всегда "Да".Реальный вопрос заключается в следующем: «Для чего мне использовать привязку данных WPF?»
Звучит так, как будто архитектура вашего приложения в настоящее время:
XML <--> Object Model <--> UI Controls
В WPF,Вы захотите использовать привязку данных для подключения объектной модели к элементам управления пользовательского интерфейса.Все функциональные возможности в вашей текущей объектной модели, которая копирует XML-файлы и обновляет их содержимое и т. Д., Все это происходит в другом юниверсе, если говорить о WPF.
Если методы, которые в настоящее время реализованы в вашемобъектная модель вносит изменения в свойства объектов, которые необходимо отправить в пользовательский интерфейс, все может стать немного сложнее.Например, вы можете обнаружить, что вы хотите создать Command
объекты для предоставления этих методов пользовательскому интерфейсу, а затем вам нужно реализовать некоторый механизм для вызова событий PropertyChanged
после того, как методы изменят свойства объектов.В зависимости от общей архитектуры вашего приложения, вы можете не захотеть интегрировать объекты WPF (например, команды) или реализовать уведомление об изменении свойства в вашей объектной модели.
Это приведет вас на территорию шаблона MVVM («слой viewmodel», на который ссылается Джо Уайт), который является способом инкапсуляции команд и уведомлений об изменении свойств (и других вещей, которые требуются в пользовательском интерфейсе WPF) без необходимости изменения базовой объектной модели.Это нормально.Когда вы делаете это в первый раз, это немного ошеломляет, в основном потому, что информация, которую вы найдете, когда вы начнете исследовать ее, покажет вам решения проблем, которых у вас может не быть (или, возможно, еще нет).Но на самом деле все не так плохо.