Markup.IStyle.Connector.Connect-Fehler beim Binden in WPF

8

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%     
ies.kras 06.08.2013, 12:32
quelle

1 Antwort

12

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.

    
Anatoliy Nikolaev 06.08.2013, 14:02
quelle

Tags und Links