Я могу связать собственность, но не собственность в другой собственности. Почему бы и нет? например,
<Window DataContext="{Binding RelativeSource={RelativeSource Self}}"...>
...
<!--Doesn't work-->
<TextBox Text="{Binding Path=ParentProperty.ChildProperty,Mode=TwoWay}"
Width="30"/>
(Примечание: я не пытаюсь делать мастер-детали или что-то еще. Оба свойства являются стандартными свойствами CLR.)
Обновление: проблема заключалась в том, что мой ParentProperty зависел от инициализируемого объекта в XAML. К сожалению, этот объект был определен позже в файле XAML, чем Binding, поэтому объект был нулевым в тот момент, когда мой ParentProperty читался Binding. Поскольку перестановка файла XAML привела бы к нарушению компоновки, единственное решение, о котором я мог подумать, - это определить Binding в коде:
<TextBox x:Name="txt" Width="30"/>
// after calling InitializeComponent()
txt.SetBinding(TextBox.TextProperty, "ParentProperty.ChildProperty");