私はデータバインディングを使用して設定された項目のグリッドを持っています。 グリッドには、特定のセルに対してDataTemplate
があります。私は自分のデータ・テンプレートをサポートするために追加のバインディングにアクセスできるように、ルート要素(グリッドをホストしているもの)のDataContext
にアクセスする必要があります。WPFでDataTemplateのルートDataContextにアクセスするにはどうすればよいですか?
だからあなたがいる:
Window
Window.DataContext = TheDataSourceWithItemsAndSupports
DataGrid.ItemsSource = {Binding Items}
DataTemplate
ListBox.ItemsSource = {Binding Supports}
私はTheDataSourceWithItemsAndSupports
に{Binding Supports}
をしたいが、私はそれを行う方法が表示されません。私は{Binding}
を指定しようとしましたが、それは常にnull
を返します。私もRelativeSource FindAncestor
を使ってみましたが、それはnull
でもあります。
手がかりはありますか?
バインディングパスはDataContext.Supportsだと思いますが、これも私の考えです。 –
あなたは正しい、改正されました。 – user76035
これはうまくいきましたが、もう少しコーディングする必要がありました(上記のシナリオは、状況を正確に表現したものではありません)。 – Inferis