Self
означает UserControl
, поэтому, когда вы устанавливаете DataContext
на Self
, вы устанавливаете DataContext
для объекта UserControl
.
Правильный синтаксис для привязки к DataContext
элемента управления будет {Binding RelativeSource={RelativeSource Self}, Path=DataContext}
, однако, поскольку DataContext наследуется Родителем, эта привязка совершенно не нужна в любой ситуации.
Кроме того, если вы связываете DataContext
с Self.DataContext
, вы, по сути, создадите цикл, в котором значение привязано к самому себе.