私はViewModelにバインドされたUserControlを持っています。 UserControlはアイテムのリスト(クラスオブジェクト)にバインドされています。だから私は、DataGridのRowDetailsテンプレート上のプロパティにさまざまな要素をバインドするときは、私は使用します:wpf:AncestorのFindAncestor
"{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type UserControl}},
Path=DataContext.SomeProperty}"
これは問題なく動作します。今私はそれらのDataGridsで他のトップレベルのUserControlsで使用できるUserControlにRowDetailsのものを除外したいと思います。では、このバインディングステートメントが記述されているUserControlの祖先であるUserControlを見つけるにはどうすればよいですか?
毎回異なるため、x:Type宣言に最上位レベルのUserControlの名前を指定することはできません。