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'
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%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%