Никогда не устанавливайте DataContext UserControl внутри usercontrol:
ЭТО НЕПРАВИЛЬНО:
this.DataContext = someDataContext;
, потому что, если кто-то будет использовать ваш пользовательский контроль, его обычной практикой является установка его datacontext и это противоречит тому, что вы установили ранее
Какой из них будет использоваться? Ну, это зависит ...
То же самое относится к свойству Name. вы не должны указывать имя для UserControl следующим образом:
, поскольку он находится в конфликте с
РЕШЕНИЕ: В вашем управлении просто используйте RelativeSource Mode = FindAncestor:
На ваш вопрос о том, как все эти сторонние элементы управления выполнены: они используют TemplateBinding. Но TemplateBinding можно использовать только в ControlTemplate. http://www.codeproject.com/Tips/599954/WPF-TemplateBinding-with-ControlTemplate
В usercontrol xaml представляет Content of UserControl, а не ControlTemplate /
Это действительно HTML, а не XML:
doc = Nokogiri::HTML html_string
doc.search('ol').map{|ol| ol.ancestors('ol').length}.max
#=> 2