Установка DataContext в XAML для Code-Behind может быть немного хитрой, но в целом эти ситуации являются наиболее распространенными:
- Вы хотите сделать DataContext весь Окно или Пользовательский UserControl
.
<Window
blahhhh..
DataContext={Binding RelativeSource={RelativeSource Mode=Self}}>
или
<UserControl
Blahhhh....
DataContext={Binding RelativeSource={RelativeSource Mode=Self}}>
2.если вы установите DataContext окна или пользовательский элемент управления на что-то другое, чем код позади, и у вас есть дочерний элемент управления, вам нужно будет установить для него DataContext для кода, который вы можете использоватьследующее:
<Label DataContext={Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=Window}}/>
для пользовательских UserControl :
<Label DataContext={Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}}/>
, в этом случае установив для DataContext значение self, ссылка будет привязанак самому объекту Label, а не коду позади элемента управления.Я надеюсь, что это поможет.