WPF: Wie kann ich die debug-binding-Fehler?
Ich bin immer in meiner Ausgabe-Fenster:
System.Windows.Data Error: 4 : Cannot find source für die Bindung mit der Referenz 'RelativeSource FindAncestor, AncestorType=" System.Windows.Controls.ItemsControl', AncestorLevel='1". BindingExpression:Path=VerticalContentAlignment; DataItem=null; target element is 'ListBoxItem' (Name="); target property is 'VerticalContentAlignment' (Typ 'VerticalAlignment')
Dies ist mein XAML, die, wenn Sie laufen sieht richtig
<GroupBox Header="Grant/Deny Report">
<ListBox ItemsSource="{Binding Converter={StaticResource MethodBinder}, ConverterParameter=GrantDeny, Mode=OneWay}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Label Content="{Binding Entity}"/>
<Label Content="{Binding HasPermission}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</GroupBox>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich war auch zu empfehlen Bea Stollnitz Artikel aber Jonathan Allen, bekam von seinem posten, während ich noch tippe dieses ein. Ich empfehle auch die links in dieser blog-Eintrag.
In diesem Fall können Sie sehen, dass irgendwo ein ListBoxItem hat eine FindAncestor Bindung an ein ItemsControl, das nicht. Das sagt dir sofort, es ist ein ListBoxItem irgendwo, dass entweder:
Darüber hinaus wissen Sie, dass jemand, irgendwo, ist verbindlich ein ListBoxItem ist VerticalContentAlignment Eigenschaft FindAncestor.
Blick auf das system themes (im Lieferumfang von Expression Blend und auch über NET Reflector ist BAMLViewer-Add-in) wir sehen:
Dies erklärt, wo die Bindung kommt. Die nächste Frage ist, wie ist ein ListBoxItem erstellt wird, die ist nicht unter einer ListBox (oder einem anderen ItemsControl)?
Einige Dinge zu suchen:
Hoffentlich Kopf, die Sie in die richtige Richtung.
Ich lief in ein ähnliches problem mit dem TreeView (obwohl mein Datenbindung Fehler zeigte sich als Informations -).
Ich löste das problem durch die Definition einer impliziten Stil in der Strukturansicht die Ressourcen für TreeViewItem. Innerhalb dieser Stil, den ich definiert, die fehlende vertikale und horizontale Position des Inhalts Eigenschaften.