문제

내 주위에 새로운 윈도우 스토어 보편적인 응용 프로그램 템플릿 사용 될 수 있는 Windows8.1Windows Phone8.1 궁금하는 방법에서 형식 문자열 XAML 코드입니다.

내가 무엇을 시도했(XAML):

 <TextBlock Text="{Binding TestItem.CurrentDate, StringFormat={}{0:MM/dd/yyyy}}" />

문제는 StringFormat 에서 사용할 수 없 Windows.UI.Xaml.Controls.TextBox.

Microsoft 는 샘플 프로젝트 는 모든 것에 대한 포맷합니다.그러나 사용하는 방법이 있에 기반한(추)코드니다.

그래서,여기에 제 질문:

  • StringFormat 지 않는 윈도우에서 사용 가능장 보편적인 앱?
  • 어떻게 형식 문자열을 사용하여 XAML 코드만?


편집: 하기로 결정했으로 이동 변환 솔루션을 위해,사람들의 관심을 끄는 코드는 다음과 같습니다:

public class DateConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, string language)
    {
        if (value == null)
            return null;

        if (!(value is DateTime))
            return null;

        var dateTime = (DateTime)value;

        var dateTimeFormatter = new DateTimeFormatter(YearFormat.Full,
            MonthFormat.Full,
            DayFormat.Default,
            DayOfWeekFormat.None,
            HourFormat.None,
            MinuteFormat.None,
            SecondFormat.None,
            new[] { "de-DE" },
            "DE",
            CalendarIdentifiers.Gregorian,
            ClockIdentifiers.TwentyFourHour);

        return dateTimeFormatter.Format(dateTime);
    }

    public object ConvertBack(object value, Type targetType, object parameter,
        string language)
    {
        throw new NotImplementedException();
    }
}

나는 행복에 대한 모든 하는 방법에 대해 조언을 개선하는 코드는 위의 의견 주시기 바랍니다.

감사 미카엘 Dúi Bolinder 과 마틴 Suchan 에 대한 당신의 제안/대답이다.

도움이 되었습니까?

해결책

데이터 바인딩에서 윈도우 런타임 프로젝트 유형을 지원하지 않 StringFormat 실,이 옵션은 다음과 같습니다.

  • 이미 사용하는 형식으로 날짜를 얻을만 산에서 뷰 모델.
  • 변환기 -을 만들 수도 있습니다 StringFormatConverter 할 수 있는 통과하는 형식으로 DateTime ConverterParameter. 여기에 솔루션 어떻게 그러한 StringFormatConverter 일할 수 있습니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top