Cannot find governing FrameworkElement or FrameworkContentElement for target element
エラーのビットを調べた後、依存関係オブジェクトがFrameworkElementsでないか、 1つの要素ツリーにあります。オブジェクトがFrameworkElementの論理ツリーにある場合でも、DependencyObjectはターゲット要素の統治FrameworkElementを見つけることができません
ただし、私はDependencyObjectsを所有するFrameworkElementを持っており、FrameworkElement論理ツリーの一部であっても、それらのDependencyObjectsプロパティにバインディングを送信することはできません。
私は複雑なカスタムコントロールをサブ要素で作成していますが、これらのサブ要素をDependencyObjectsにする必要があります(FrameworkElementsではなく、多くのプロパティを使用して汚染され、ユーザーを混乱させる可能性があるため)、また、DependencyPropertiesをバインド可能にする必要があります。
私には何が欠けていますか? DependencyObjectsに論理ツリー内にあることを知らせるために必要なことがありますか?凍結されても意味がないとしても、私はそれらをFreezableにする必要がありますか?
乾杯
すべての依存関係プロパティはバインド可能です。明示的なSourceがない作品はバインドできません。あなたの質問については、今のところ、プロパティがビジュアルツリーまたは論理ツリーの一部でない場合、親データコンテキストを継承する唯一のオプションは、実際にフリーズ可能にするようです。 – Evk
@エヴァーク:少し研究して遊んだ後、私は自分のプロパティがライブツリーインスペクタに表示されないことを知りました。 LogicalChildren列挙子をオーバーライドすれば十分だろうと確信していたので、これをさらに調査する必要があります。 –