2016-07-19 19 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')Warum werden verbindliche Fehler in Bezug auf AreRowDetailsFrozen und HeadersVisibility für Datagrids in WPF angezeigt?

Diese Fehler werden im unmittelbaren Fenster in WPF angezeigt. Warum passiert das und wie kann ich es stoppen?

Antwort

0

This post here enthält Details zu Problemumgehungen für dieses Problem. Dieser arbeitete für mich:

den folgenden Code zur globalen Arten hinzufügen:

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

War das gleiche Problem haben. Ich habe eine Barebones WPF 4.7 App erstellt und in meinem Fall verursachte das SizeToContent Attribut dies.

Ich hatte eine StatusBar mit seinem DataContext-Set auf RelativeSource AncestorType = Window und ein DataGrid war ein Geschwister in einem DockPanel. Für das Stammfenster wurde SizeToContent auf "Width" festgelegt.

Wenn Elemente zum DataGrid hinzugefügt wurden, wurden die von Ihnen beschriebenen Bindungsfehler angezeigt. Ohne SizeToContent tun sie das nicht. Die Verwendung von ElementName = rootWindow in der StatusBar anstelle der Ahnen-Shenanigans behob es ebenfalls.