更新日:
本当に必要ですか? XAMLを見ると、ToggleButtonにDataContextが設定されていないので、その値を設定する親からその値を継承する必要があります。
参照:DataContext
この依存プロパティはプロパティ値を継承します。ローカル値またはスタイルによって確立されたDataContextの他の値を持たない子要素がある場合、プロパティシステムは、この値が割り当てられた最も近い親要素のDataContext値に値を設定します。とにかく
、あなたがそれを必要とする場合...
ORIGINAL: あなたのXAML内の特定の構造が間違っていると仮定し、任意の答え。構造を変更するテンプレートをいつでも適用できます。
このように言えば、VisualTreeHelperクラス(GetParentメソッド)を使用してビジュアルツリーを移動できます。最初のパラメータは、チェックされたコントロールへの参照です。だから、
、私の頭の上から、私はあなたが次の操作を行うことができると思います:
DependencyObject source = sender as DependencyObject;
if(null != source) {
DependencyObject parent = VisualTreeHelper.GetParent(source);
FrameworkElement parentElement = parent as FrameworkElement;
if(null != parentElement) {
object context = parentElement.DataContext;
}
}
あなたはヘルパーメソッドでこれを考慮する必要があります。
public static FrameworkElement GetParentContext(FrameworkElement element) {
object result = null;
DependencyObject parent = VisualTreeHelper.GetParent(element);
FrameworkElement parentElement = parent as FrameworkElement;
if(null != parentElement) {
result = parentElement.DataContext;
}
return result;
}
ことを考えることをご検討くださいXAML構造体は異なるかもしれません、null
ではないDataContext
の要素を見つけるまで、多分あなたはツリーを上る必要があります。
可能であれば、xaml構造を共有します。 – Versatile
あなたの質問が解決された場合は、答えとしてマークすることを忘れないでください。 – Versatile