I'm with you. I started with
(ui) ↔ (xml)
where xml is represented as LINQy XElements, so I received a PropertyChange notification.
Then I added some stateless helper classes to help me deal with xml (show properties, check data, etc.). I would bind XElements in ObservableCollections so that I can bind to them.
M-V-VM ViewModels. :
, . - , XElement, ViewModel .
xml. ViewModel .
,
(ui) ↔ (viewmodel) ↔ (helper) ↔ (xml)
PropChange , viewmodel.
Molon Labe