------ VB.NET ------ public class OccupationToStringConverter: IValueConverter { Public Function Convert( value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo ) As Object Implements IValueConverter.Convert If( Not value Is Nothing ) AndAlso ( TypeOf value Is Occupation ) Then Dim enumString As String = value.ToString() ' Start at 1 to ignore the first capitalizes letter. Dim i as Integer = 1 For i To i < enumString.Length - 1 If char.IsUpper( enumString( i ) ) Then enumString = enumString.Insert( i, " " ) i++ End If Next i Return enumString End If Return Nothing End Function Public Function ConvertBack( value As Value, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo ) As Object Implements IValueConverter.ConvertBack Return Binding.DoNothing End Function End Class ------ C# ------ public class OccupationToStringConverter: IValueConverter { public object Convert( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture ) { if( value != null && value is Occupation) { string enumString = value.ToString(); // Start at 1 to ignore the first capitalizes letter. for( int i = 1; i < enumString.Length - 1; i++ ) { if( char.IsUpper( enumString[ i ] ) ) { enumString = enumString.Insert( i, " " ); i++; } } return enumString; } return null; } public object ConvertBack( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture ) { return Binding.DoNothing; } }