Gute Zeit. Ich habe ein Problem mit der Datenbindung in WPF. Wenn ich Binding verwende:
%Vor% im Code unten Ich habe einen Markup.IStyle.Connector.Connect
Fehler auf einigen Computern.
Ich kann nicht verstehen warum.
Wenn Sie solch ein Verhalten getroffen haben oder ein paar Ideen dazu haben. Bitte teilen.
%Vor%
Aufrufstack:
%Vor%Wahrscheinlich liegt es an verschachtelten Vorlagen:
CellTemplate - & gt; DataTemplate
- & gt; ... - & gt; Baumansicht - & gt; TreeView.ItemTemplate - & gt; DataTemplate
Zitieren dies :
Dieser Fehler erfordert eine Vorlage in einer Vorlage. Ein guter Weg, um dieses Problem zu betrachten "Templating ist wie Klammern, zitiert Klammern" das Template XAML wird nicht erstellt, sondern gespeichert und später ausgeführt. Der Fehler ist daher: Wir haben ein Problem mit verschachtelten Klammern.
Im Beispiel:
%Vor% Die innere Vorlage ist immer noch quoted
, wenn die äußere Vorlage angewendet wird. Dennoch nennen wir immer noch IStyleConnector.Connect () für alle XAML (wir hören nicht auf, wenn wir auf inner parentheses/quote
treffen) und es gibt keine TextBlock-Instanz, so dass wir abstürzen.
Aufgrund der optimierten Vorlagenfreigabe kommt es bei der Repro zu Unmut. Zum Beispiel, wenn Sie das entfernen:
%Vor% Der Fehler verschwindet, weil der TextBlock im Vorlagenoptimierer sharable
wird.
WorkAround:
Am besten ist es, die innere Vorlage in eine Ressource zu verschieben.
Versuchen Sie, Ihre TreeView.ItemTemplate
in Ressource zu verschieben.
Tags und Links wpf c# data-binding