Это боль. В .NET нет встроенного способа добиться этого, поэтому я могу с уверенностью сказать, что еще меньше в CF.
Вы можете начать работу с этой статьей в блогах MSDN, но она довольно ограничена, поскольку вы можете получить только один уровень вложенных привязок свойств.
Лично я закончил тем, что написал собственный BindingSource, основанный на коде, который находится где-то в интернете. Я не могу дать вам исходный код моего переписывания, так как это собственность моего работодателя, но вот ссылка на проект, с которого я начал.
У предоставленного кода есть несколько недостатков: некоторые из его пространств имен - System.ComponentModel, и VS2010, похоже, не понравился, поэтому мне пришлось их переименовать. И еще несколько проблем во время разработки, из-за которых может быть неудобно использовать (так что вы тоже захотите это исправить), например, потеря списка свойств, когда вы допустили орфографическую ошибку, и так далее ...
Но это лучший способ (IMHO) создать хороший BindingSource, который обрабатывает вложенные объекты, и вы получите представление о том, что необходимо сделать для достижения ваших вложенных привязок.
Последний недостаток (и, вероятно, самый большой, но у меня нет опыта работы с CF) заключается в том, что проект написан для обычной платформы .NET Framework, поэтому, скорее всего, вам придется полностью его переписать.
Надеюсь, это поможет ....
Edit. О, я копал могилы, не замечая ... извините.
PS. Другая идея состоит в том, чтобы просто создать один источник привязки для каждого из ваших вложенных объектов, но он становится беспорядочным (IMO), если иерархия объектов сложна.