'宣言 Protected Overridable ReadOnly Property DefaultValueToTextConverter As IValueConverter
protected virtual IValueConverter DefaultValueToTextConverter {get;}
DefaultValueToTextConverter は、値とテキスト間の変換のためのデフォルト ロジックを提供する値コンバーターを返します。派生エディター クラスは、エディター固有の変換ロジックを返すために、このプロパティをオーバーライドできます。カスタム変換ロジックを提供したい場合、ValueToTextConverter および ValueToDisplayTextConverter プロパティを使用してください。
public class MyPointConverter : IValueConverter { // Convert gets called to convert value to text. public object Convert( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture ) { ValueEditor editor = parameter as ValueEditor; if ( value is Point && targetType == typeof( string ) ) value.ToString( ); return Infragistics.Windows.Utilities.ConvertDataValue( value, targetType, editor.FormatProvider, editor.Format ); } // ConvertBack gets called to convert user input into to value. public object ConvertBack( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture ) { string text = null != value ? value.ToString( ) : string.Empty; return Point.Parse( text ); } }
Public Class MyPointConverter Implements IValueConverter ' Convert gets called to convert value to text. Public Function Convert(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.Convert Dim editor As ValueEditor = DirectCast(parameter, ValueEditor) If TypeOf value Is Point AndAlso targetType Is GetType(String) Then value.ToString() End If Return Infragistics.Windows.Utilities.ConvertDataValue(value, targetType, editor.FormatProvider, editor.Format) End Function ' ConvertBack gets called to convert user input into to value. Public Function ConvertBack(ByVal value As Object, ByVal targetType As Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack Dim text As String = String.Empty If Not Nothing Is value Then text = value.ToString() End If Return Point.Parse(text) End Function End Class