Wpf Custom DatePicker Calendar и CalendarDayButton - PullRequest
0 голосов
/ 21 июня 2019

Я настраиваю элемент управления DatePicker в приложении WPF, цель состоит в том, чтобы сделать его удобным для сенсорного экрана.

Я не знаком с самим WPF, но, следуя нескольким учебникам, я смогчтобы увеличить его, я создал шаблон для настройки самого DatePicker и добавил несколько элементов управления в коде для ограничения диапазонов дат и т. д.

Я просто застрял, когда пытался изменить «BlackoutDates»"background: Calendar example

В соответствии с рекомендациями UX, я должен изменить цвет" X "с серого на красный.

Само средство выбора даты выглядит хорошо,Календарь не:

<DatePicker Style="{StaticResource MyDatePickerStyle}" CalendarStyle="{StaticResource styleCalendar}" Height="60" HorizontalAlignment="Center" Name="datePicker1" VerticalAlignment="Center" Width="400">
    <DatePicker.BlackoutDates>
        <CalendarDateRange End="6/19/2019" />
        <CalendarDateRange Start="6/28/2019" />                    
    </DatePicker.BlackoutDates>                
</DatePicker>

и это мой шаблон, единственный эффект, который я получил, - увеличить календарь:

<Style x:Key="styleCalendar" TargetType="{x:Type Calendar}">
    <Setter Property="CalendarDayButtonStyle" Value="{StaticResource
    styleCalendarButton}" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Calendar}">
                <Viewbox Height="400" Width="400">
                    <CalendarItem x:Name="PART_CalendarItem"
                          Background="{TemplateBinding Background}"
                          BorderBrush="{TemplateBinding BorderBrush}"
                          BorderThickness="{TemplateBinding BorderThickness}"/>
                </Viewbox>
            </ControlTemplate>                    
        </Setter.Value>
    </Setter>        
</Style>

    <Style x:Key="styleCalendarButton" TargetType="CalendarDayButton" BasedOn="{StaticResource {x:Type CalendarDayButton}}">
        <Style.Triggers>
            <Trigger Property="IsBlackedOut" Value="True">
                <Setter Property="Background" Value="Red"/>
            </Trigger>
        </Style.Triggers>
    </Style>

Я искал несколько примеров, но это действительно так.кажется, я не могу легко настроить CalendarItem и его кнопки.

Вопрос: как я могу изменить цвет "X" на фоне затемненных дней?

...