2013-09-08 1 views
4

TimeSpan 속성에 XAML StringFormat을 적용하려고합니다.Windows Phone의 TimeSpan 문자열 형식 XAML

참고이 질문은 Windows Phone에 적용됩니다.

는 WPF를 들어, 올바른 구문은 다음과 같습니다

Text="{Binding ElapsedTime,StringFormat='{}{0:m\\:ss}'}" 

그러나 Windows Phone 용

가 아무리 내가 노력 무엇을, 출력이되지 않습니다 :

Text="{Binding ElapsedTime,StringFormat={}{0:m\\:ss}}" 

실버 라이트를 들어, 단일 따옴표를 필요 항상 전체 "00 : 00 : 00.0000000".

  • StringFormat='m\\:ss'
  • StringFormat='{}{0:m\\:ss}'
  • StringFormat='m\:ss'
  • StringFormat=m\\:ss

  • 은 어떻게 든 올바른 순열을 놓친 적이, 또는이 윈도우 폰에서 어떤 이유로 단지 수 없습니다?


    업데이트 나 해결 방법 (아래 답변) 사용하지만 것 여전히 불확실성의 설명처럼, 누군가가 알고 있다면. (난 그냥하지 TimeSpan 사람과 "불확실성"때문에 StringFormat 작품을 완벽하게와 DateTime 속성을 말한다.)

    업데이트 # 2

    A very similar question from 2010. 어쩌면 이것은 이전 버전이나. "컴팩트"버전의 .Net에 관한 문제 일 것입니다. 또는 this answer (StringFormat=\{0:h\\:mm\})이 작동합니까?

  • 답변

    3

    전체 형식입니다. 뷰 모델에 새로운 속성

    <TextBlock Text="{Binding DurationStr}" /> 
    

    : 단일 따옴표없이

    public string DurationStr 
    { 
        get { return Duration.ToString(@"m\:ss"); } 
    } 
    
    public TimeSpan Duration 
    { 
        get { return _duration; } 
        set 
        { 
         _duration = value; 
         RaisePropertyChanged("Duration"); 
         RaisePropertyChanged("DurationStr"); 
        } 
    } 
    private TimeSpan _duration; 
    
    3

    여기 ElapsedTime이라는 이름으로 만든 Timespan 속성에 대한 저에게 도움이되는 내용이 있습니다.

    Text="{Binding ElapsedTime,StringFormat={}{0:mm\\:ss}}" 
    

    내가 해결 방법을 사용하여 종료

    Text="{Binding ElapsedTime,StringFormat={}{0:dd\\.hh\\:mm\\:ss}}" 
    
    +0

    , 나는 컴파일 할 수 없습니다. Visual Studio에서 "마크 업 종료 후 예기치 않은 토큰"오류가 표시됩니다. WPF를 사용하여 이것을 테스트 한 것으로 판단됩니다. – McGarnagle

    +0

    예, WPF입니다. 대신에 단일 m을 사용하는 것이 문제가 될 수 있습니까? – Mitul