Benutzerdefinierter Typkonverter für die Adapterkonfiguration
Wie der benutzerdefinierte Editor setzt der benutzerdefinierte Typkonverter die System.ComponentModel.TypeConverter-Klasse einer ihrer untergeordneten Elemente außer Kraft. Der Konverter fügt hier dem Wert eine Formatierung hinzu, die persistent gespeichert werden soll, jedoch nicht auf der Eigenschaftenseite angezeigt wird. Die ConvertFrom-Methode fügt eckige Klammern um den Zeichenfolgenwert hinzu, und die ConvertTo-Methode entfernt sie.
Der folgende Code ist die Klassendefinition für den benutzerdefinierten Typkonverter:
using System;
using System.ComponentModel;
namespace AdapterManagement.ComponentModel {
public class DesignerTypeConverter : StringConverter {
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) {
return (typeof(String) == destinationType) || base.CanConvertTo (context, destinationType);
}
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) {
if (typeof(String) == destinationType && value is String) {
return ((String)value).TrimStart('[').TrimEnd(']');
}
return base.ConvertTo (context, culture, value, destinationType);
}
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {
return (typeof(String) == sourceType) || base.CanConvertFrom (context, sourceType);
}
public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) {
if (value is String) {
return "["+(String)value+"]";
}
return base.ConvertFrom (context, culture, value);
}
}
}
Weitere Informationen
Designer für benutzerdefinierte Adapterkonfiguration
Benutzerdefinierter Dropdowneditor zur Adapterkonfiguration
Benutzerdefinierter Editor für modale Dialogfelder zur Adapterkonfiguration
Erweiterte Konfigurationskomponenten für Adapter