2012-07-18 2 views
0

XAML 파일의 텍스트 상자에 대한 코드 조각이 있습니다. 입력 숫자 Value.Below 코드의 조각처럼 텍스트 상자 취 -Silverlight 컨트롤에서 StringFormat이 작동하지 않습니다.

<TextBox Text="{Binding Path=Revenue, StringFormat=c0, Mode=TwoWay, Converter={StaticResource NullableConverter}, NotifyOnValidationError=True, ValidatesOnDataErrors=True, ValidatesOnExceptions=True}" Grid.Column="3" Grid.Row="2"/> 

를하지만 내가 입력 밖으로 입력 5 탭 5 $가되지 않는 경우. 그러나 페이지에 데이터를 저장하고 페이지를로드하면 서식이 그대로 유지됩니다. 이것에 대한 어떤 생각 ??

+0

StringFormat = \ {0 : c0 \} 내가 당신을 위해 일해야한다고 생각한다. –

+0

@Chris W : IE에서 기능이 작동하지 않는 것 같습니다. Chrome에서 작동합니다. 이것에 대한 어떤 생각 ?? – SaiBand

+0

와우, SL은 모든 브라우저에서 경험이 동일해야하기 때문에 재미있을 것입니다. 데이터를 저장 한 후에 표시되기 때문에 SL의 모든 데이터 액세스가 비동기식이라고 생각할 수 있습니다. 그 외에도, 한 브라우저에서 작동하는 이유와 다른 브라우저에서 작동하지 않는 이유에 대한 대답이 없습니다. 브라우저와 관련없는 플러그인이라고 생각하면 상상할 수밖에 없습니다. :/ –

답변

0

변환기를 제거하고 시도해보십시오. 받아야합니다. 변환기에 문제가있어 야합니다.

이것은 Nullable Converter가 시도한 것입니다.

public class NullableConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     if (value == null) 
      return 0; 
     else 
      return value; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     return value; 
    } 
} 
0

SL5를 사용하는 경우 이것이 버그라고 생각합니다. 바인딩이 업데이트되면 StringFormat가 트리거되지 않습니다. 자세한 내용은 MS connect issue입니다. 문제 해결에 도움이되는 해결 방법을 확인할 수 있습니다.

관련 문제