我想将属性绑定到在其 DataContext 中具有 ViewModel 的父容器视图。
当父级是ConcreteClassView的直接实例时,此代码运行良好:
Property="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ty:ConcreteClassView}}, Path=DataContext.Name}"
但是,当试图通过基类或接口定位它时,找不到父对象。样本:
PropertyB="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ty:BaseClassView}}, Path=DataContext.Name}"
PropertyB="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ty:INamedElementView}}, Path=DataContext.Name}"
给出:
class ConcreteClassView : BaseClassView, INamedElementView { }
好的,我们假设FindAncestor,AncestorType需要具体类型才能工作。
但是有任何解决方法可以仅基于基类或实现给定接口来定位祖先吗?
谢谢。