Отключить раскрытие кисти эффект просмотра календаря в UWP? - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь отредактировать некоторые элементы дизайна представления календаря в UWP.
Ниже приведено изображение представления календаря.

enter image description here

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

Я хочу сделать календарь, похожий на календарь приложения Appointment.
У него два календаря, и у двух из них нет кисти для показа.enter image description here Я отредактировал шаблон CalendarViewDayItemRevealStyle, но он не работает.

Добавлен

Следующий источник является исходным источником шаблона.Я удалил установщик Point over state, но раскрывающаяся кисть не удалена.

 <Style x:Key="CalendarViewDayItemRevealStyle" TargetType="CalendarViewDayItem">
        <Setter Property="MinWidth" Value="40"/>
        <Setter Property="MinHeight" Value="40"/>
        <Setter Property="Margin" Value="1"/>
        <Setter Property="Padding" Value="0, 0, 0, 4"/>
        <Setter Property="UseSystemFocusVisuals" Value="{StaticResource UseSystemFocusVisuals}"/>
        <Setter Property="FocusVisualMargin" Value="-2"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="CalendarViewDayItem">
                    <Grid x:Name="Root" Width="0">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal"/>
                                <VisualState x:Name="PointerOver">
                                    <VisualState.Setters>
                                        <Setter Target="Root.(RevealBrush.State)" Value="PointOver"/>
                                        <Setter Target="RootGrid.Background" Value="{ThemeResource ButtonRevealBackgroundPointerOver}" />
                                        <Setter Target="ContentPresenter.BorderBrush" Value="Transparent"/>
                                        <Setter Target="ContentPresenter.Foreground" Value="{ThemeResource ButtonForegroundPointerOver}" />
                                    </VisualState.Setters>
                                </VisualState>
                                <VisualState x:Name="Pressed">
                                    <VisualState.Setters>
                                        <Setter Target="Root.(RevealBrush.State)" Value="Pressed"/>
                                        <Setter Target="RootGrid.Background" Value="{ThemeResource ButtonRevealBackgroundPressed}" />
                                        <Setter Target="ContentPresenter.BorderBrush" Value="{ThemeResource ButtonRevealBackgroundPressed}" />
                                        <Setter Target="ContentPresenter.Foreground" Value="{ThemeResource ButtonForegroundPressed}" />
                                    </VisualState.Setters>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    <Style x:Key="CalendarViewCalendarViewDayItemStyle1" 
           BasedOn="{StaticResource CalendarViewDayItemRevealStyle}" 
           TargetType="CalendarViewDayItem"/>

Как убрать эффект раскрытия кисти?

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Лучше использовать CalendarViewCalendarItemBackground в качестве ItemBackground.Я не видел CalendarViewCalendarItemBorderBrush, возможно, это работает, если мы установим ItemBorderBrush в ноль.

<CalendarView CalendarItemBackground="{ThemeResource CalendarViewCalendarItemBackground}"  CalendarItemBorderBrush="{x:Null}"></CalendarView>
0 голосов
/ 18 октября 2018

Если вы проверите стиль по умолчанию для CalendarView в generic.xaml файле, вы увидите, что он указал две дополнительные кисти для CalendarItem.

<Setter Property="CalendarItemForeground" Value="{ThemeResource CalendarViewCalendarItemForeground}" />
<Setter Property="CalendarItemBackground" Value="{ThemeResource CalendarViewCalendarItemRevealBackground}" />

Вы можете изменить его следующим образом:

<CalendarView CalendarItemBackground="{ThemeResource SystemControlBackgroundAltHighBrush}"  CalendarItemBorderBrush="Gray"></CalendarView>

Затем эффект раскрытия исчезнет.

Для целей проектирования файл generic.xaml доступен в папке \(Program Files)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\xxxx\Generic из установки Windows SDK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...