2016-07-19 44 views
1

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.DataGrid', AncestorLevel='1''. BindingExpression:Path=AreRowDetailsFrozen; DataItem=null; target element is 'DataGridDetailsPresenter' (Name=''); target property is 'SelectiveScrollingOrientation' (type 'SelectiveScrollingOrientation') System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.DataGrid', AncestorLevel='1''. BindingExpression:Path=HeadersVisibility; DataItem=null; target element is 'DataGridRowHeader' (Name=''); target property is 'Visibility' (type 'Visibility')WPFでAreRowDetailsFrozenとDatagridsのHeadersVisibilityに関連するバインディングエラーが表示されるのはなぜですか?

これらのエラーは、WPFの直接ウィンドウに表示されます。なぜこれが起こるのですか、それをどうやって止めることができますか?

答えて

0

This post hereには、この問題の回避策の詳細があります。これも私のために働い:

は、グローバルスタイルに次のコードを追加します。

<Style.Triggers> 
    <Trigger Property="HeadersVisibility" Value="Column">   
      <Setter Property="RowHeaderWidth" Value="0" /> 
    </Trigger> 
</Style.Triggers> 
1

は同じ問題を抱えていました。私はbarebones WPF 4.7アプリを作って、私のケースではSizeToContent属性がそれを引き起こしていました。

RelativeSource AncestorType = Windowに設定されたDataContextを持つステータスバーと、DataGridが両方ともDockPanel内の兄弟であった。ルートウィンドウのSizeToContentはWidthに設定されていました。

アイテムがDataGridに追加されたときに、記述したバインディングエラーが表示されました。 SizeToContentがなければ、彼らはしません。 Ancestor shenanigansの代わりにStatusBarにElementName = rootWindowを使用することで修正されました。

関連する問題