Можно ли установить формат даты в стиле / шаблоне 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>
Я попытался сделать это, как указано выше, но это не сработало.
Да, другие работают, но формат даты нет.
Я сейчас устанавливаю UWP, если кто-то пока что не поможет, посмотрю на это.
Я провел дополнительное расследование. Не работает, даже если я добавлю это как стиль из C#. Однако он работает напрямую с пульта управления. Я не знаю, почему это происходит, извините. Если позже у меня будет больше времени, я посмотрю еще раз. А пока, если вы что-то найдете, опубликуйте это как ответ.
Спасибо за уделенное время. Как только найду, напишу ответ.





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