Bindeglied als innere Klasse?

8

Ich habe ein UserControl, das einen bindenden Konverter verwendet. Ich habe den Konverter zu einer inneren Klasse von

gemacht %Vor%

Wie referenziere ich die Converter-Klasse vom XAML? Folgendes funktioniert nicht:

%Vor%

Es gibt diesen Fehler:

  

Das Tag   'LensPanel.CornerRadiusConverter' tut das   nicht im XML-Namespace vorhanden   'clr-namespace: MyApp.Windows.Controls'

    
Robbert Dam 14.05.2009, 12:57
quelle

3 Antworten

2

Ich habe wieder über dieses Problem nachgedacht und mir etwas Ähnliches wie Dennis Lösung einfallen lassen: Erstellen Sie eine "Proxy" -Konverterklasse mit einer Type-Eigenschaft, die die Instanz des aktuellen Konverters erzeugt und die Konvertierung an sie delegiert .

%Vor%

Du benutzt es so:

%Vor%     
Thomas Levesque 14.05.2009, 22:25
quelle
2

Es könnte möglich sein. Vor ein paar Monaten habe ich eine Markup-Erweiterung geschrieben, um den Konverter für dich inline zu erstellen. Es enthält ein Wörterbuch mit schwachen Referenzen, sodass Sie nicht mehrere Instanzen desselben Konverters erstellen. Handles Erstellen von Konvertern mit verschiedenen Argumenten auch.

In XAML:

%Vor%

C #:

%Vor%     
Dennis 14.05.2009 22:01
quelle
-3

Was ich mache ist:

%Vor%

Und dann in der Kontrolle

%Vor%     
Carlo 14.05.2009 22:12
quelle

Tags und Links