В XAML у меня есть пользовательский элемент управления WPF (DecisionTreeControl
), который представляет узел в дереве узлов.Этот элемент управления создает несколько дочерних экземпляров самого себя для представления дочерних элементов узла через DataTemplate.На самом нижнем узле мне нужна привязка для ссылки на Command
на самом верхнем элементе управления.В настоящее время у меня есть привязка к кнопке на самом нижнем узле, которая выглядит следующим образом:
<Button Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:DecisionTreeControl}}, Path=SubmitCommand}" CommandParameter={Binding}">
Это правильно связывает с текущим / ближайшим DecisionTreeControl
, но мне нужно, чтобы оно связывалось с самым верхнимодин в визуальном дереве.Элементы управления добавляются через DataTemplates, поэтому я не могу просто использовать ElementName, а количество слоев является динамическим, поэтому я не могу просто установить AncestorLevel на фиксированное число.Узлы также не знают, насколько они глубоки, поэтому я не могу связать со свойством Depth
.
Короче говоря, есть ли способ связать (предпочтительно через RelativeSource / FindAncestor) свойствона самом верхнем экземпляре типа, вместо ближайшего или определенного?
Если есть какая-либо другая информация, которую я могу добавить, дайте мне знать.Спасибо за ваше время.