Формат даты календаря

Можно ли установить формат даты в стиле / шаблоне Calendardatepicker?

  <Style x:Name = "CalendarDatePicker" TargetType = "CalendarDatePicker">

    <Setter Property = "Foreground" Value = "Green" />
    <Setter Property = "Margin" Value = "5,0,5,0" />
    <Setter Property = "Margin" Value = "5,0,5,0" />
    <Setter Property = "HorizontalAlignment" Value = "Stretch" />
    <Setter Property = "VerticalAlignment" Value = "Center" />
    <Setter Property = "DateFormat" Value = "{}{day.integer}‎.‎{month.integer}‎.{year.full}" />

</Style>

Я попытался сделать это, как указано выше, но это не сработало.

Это должно сработать. Можете ли вы подтвердить, что другие свойства работают с вашим CalendarDatePicker, например, Green Foreground? Вот ссылка на документацию: docs.microsoft.com/en-us/uwp/api/…

mkdavor 07.12.2018 11:25

Да, другие работают, но формат даты нет.

robko 07.12.2018 11:29

Я сейчас устанавливаю UWP, если кто-то пока что не поможет, посмотрю на это.

mkdavor 07.12.2018 11:38

Я провел дополнительное расследование. Не работает, даже если я добавлю это как стиль из C#. Однако он работает напрямую с пульта управления. Я не знаю, почему это происходит, извините. Если позже у меня будет больше времени, я посмотрю еще раз. А пока, если вы что-то найдете, опубликуйте это как ответ.

mkdavor 07.12.2018 13:41

Спасибо за уделенное время. Как только найду, напишу ответ.

robko 07.12.2018 13:43
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
123
1

Ответы 1

Я не понимаю, почему CalendarDatePicker спроектирован таким образом, DateFormat принимается только в том случае, если "ReadLocalValue" истинно. Это означает, что действительны следующие два изменения:

<CalendarDatePicker x:Name = "myCalendarDatePicker"
                    DateFormat = "{}{dayofweek.full}‎, ‎{month.full}‎ ‎{day.integer}‎, ‎{year.full}"/>

или

myCalendarDatePicker.DateFormat = "{dayofweek.full}‎, ‎{month.full}‎ ‎{day.integer}‎, ‎{year.full}";

Так что это не работает для вашего примера. Вы можете обойти проблему, создав вложенный фиктивный CalendarDatePicker, но я не предлагаю вам это делать.

  <Style x:Key = "CalendarDatePicker" TargetType = "CalendarDatePicker">
        <Setter Property = "Foreground" Value = "Green" />
        <Setter Property = "Margin" Value = "5,0,5,0" />
        <Setter Property = "Margin" Value = "5,0,5,0" />
        <Setter Property = "HorizontalAlignment" Value = "Stretch" />
        <Setter Property = "VerticalAlignment" Value = "Center" />
        <Setter Property = "DateFormat" Value = "{}{day.integer}‎.‎{month.integer}‎.{year.full}" />
        <Setter Property = "Template">
            <Setter.Value>
                <ControlTemplate TargetType = "CalendarDatePicker">
                    <Grid x:Name = "RootElement">
                        <CalendarDatePicker DateFormat = "{TemplateBinding DateFormat}"
                                            Foreground = "{TemplateBinding Foreground}"
                                            Margin = "{TemplateBinding Margin}"
                                            HorizontalAlignment = "{TemplateBinding HorizontalAlignment}"
                                            VerticalAlignment = "{TemplateBinding VerticalAlignment}"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

Другие вопросы по теме