Следующий код работает, но мне любопытно, почему мне нужен путь с префиксом «DataContext»? В большинстве других случаев используемый путь относится к DataContext. Это потому, что я использую RelativeSource? Потому что источник находится на корневом уровне (Window)?
<Style TargetType="TextBox">
<Setter
Property="IsReadOnly"
Value="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type Window}}, Path=DataContext.IsReadOnly}"/>
</Style>