我有一個WPF應用程序。它有一個分成4行的網格。在第2行中,我有一個datagrid,它的datacontext設置爲OrderBlock的一個對象。這一切工作正常。不過,我想將datagrid的列標題文本值之一綁定到我的視圖模型中的屬性。WPF與RelativeSource和祖先類型綁定
下面是我嘗試失敗的一個例子。
<DataGridTextColumn Header="{Binding RelativeSource={RelativeSource
AncestorType={x:Type Window}}, Path=ColumnHeadInfo}"
Binding="{Binding RejectReason}" IsReadOnly="True"/>
是喲你是正確的假設。我把DataContext.ColumnHeaderInfo,但仍然無法正常工作。我檢查了我的視圖模型中的屬性ColumnHeaderInfo確實也有一個值。 – mHelpMe
gehho是正確的,所以請檢查你的datacontext你的窗口是正確的。使用Snoop(http://snoopwpf.codeplex.com/) – blindmeis
嗯,你的問題的原因可能是'DataGridColumn'不是可視樹的一部分,因此找不到任何父元素,因爲它沒有任何。因此,'RelativeSource AncestorType'綁定不會產生任何結果。這應該在輸出窗口中顯示警告。可能[此鏈接](http://www.thomaslevesque.com/2011/03/21/wpf-how-to-bind-to-data-when-the-datacontext-is-not-inherited/)可能有幫助您。 – gehho