样式和数据模板:类似于 FindAncestor 的搜索,包括 Self

Styles and DataTemplates: FindAncestor-like search including Self

我有一个样式,其中包含

形式的绑定表达式
{Binding Path, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type MyType}}}

但是,有时这种风格运行的DataContext实际上是MyType类型。在这种情况下,FindAncestor 没有执行我想要的操作:它从父项开始搜索。

是否有任何 {Binding ...} 咒语在继续元素层次结构之前检查当前数据上下文的类型?我有其他特定于我的项目的解决方案,但 FindAncestor 非常接近...

RelativeSource 绑定不查找 DataContext,它们在可视化树中搜索 UI 元素。 AncestorType 应该是一个控件。

要在同一控件上执行 RelativeSource 绑定,您可以使用 RelativeSource Self