バージョン

ValueToDisplayTextConverter プロパティ

表示テキストと値の間の変換で使用されるコンバーターを指定します。
シンタックス
'宣言
 
Public Property ValueToDisplayTextConverter As IValueConverter
public IValueConverter ValueToDisplayTextConverter {get; set;}
解説

'string' と ValueType の間の変換はデフォルトで内蔵の変換ロジックを使用して実行されます。ValueToDisplayTextConverter および ValueEditor.ValueToTextConverter を設定してデフォルト変換ロジックをオーバーライドできます。エディターが編集モードの時は ValueToTextConverter が使用されますが、エディターが編集モードではない時は ValueToDisplayTextConverter が使用されます。

注: エディターは、'string' 以外のタイプの値を編集できます。例えば、XamTextEditorDateTime のタイプの値を編集できます。System.ValueType プロパティを使用してエディターが編集する値のタイプを指定できます。.

ほとんどの場合、デフォルト変換ロジックは ValueEditor.FormatProvider および ValueEditor.Format フォーマット プロパティと共にさまざまなフォーマット機能の提供で十分です。

ビルトインのデフォルト変換ロジックは殆どの場合で十分ですが、値を表示するテキストに変換するためにカスタム ロジックを提供するには、この機能を使用します。これが必要とされる例は、今日や昨日の日付のような値をそれぞれ 'Tomorrow' と 'Yesterday' という単語で提示したい場合、または ValueEditor.FormatProvider および ValueEditor.Format プロパティ設定を使用して、指定できなかった任意の種類のカスタム フォーマッティングを適用する場合です。

使用例
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 );
	}
}
<igEditors:XamTextEditor x:Name="pointEditor" 
                                             
ValueType="{x:Type Point}"
                                             
>

    
<!--ValueToTextConverter gets used when in edit mode to convert value to
    text and text (user input) into value.
-->
    
<igEditors:XamTextEditor.ValueToTextConverter>
        
<local:MyPointConverter />
    
</igEditors:XamTextEditor.ValueToTextConverter>

    
<!--You can specify a different converter for display mode which gets
    used when not in edit mode. This converter only gets used for converting
    value to text.
-->
    
<igEditors:XamTextEditor.ValueToDisplayTextConverter>
        
<local:MyPointConverter />
    
</igEditors:XamTextEditor.ValueToDisplayTextConverter>
            
</igEditors:XamTextEditor>
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
参照