Переопределение поведения полосы прокрутки по умолчанию в Windows 10 UWP

#xaml #uwp #uwp-xaml #uno-platform

#xaml #uwp #uwp-xaml #uno-платформа

Вопрос:

Я использую платформу Uno и пытаюсь переопределить полосу прокрутки UWP по умолчанию и в итоге получаю что-то вроде этого (статическая, всегда видимая полоса прокрутки с увеличенной шириной и другим цветом):

Скриншот полосы прокрутки UWP

Я пытался поиграть со свойствами ScrollBar стиля, но пока у меня ничего не получилось:

 <Style TargetType="ScrollBar">
<Setter Property="Visibility" Value="Visible"></Setter>
<Setter Property="BorderBrush" Value="Blue" />
<Setter Property="BorderThickness" Value="2" />
<Setter Property="Background" Value="Blue" />
<Setter Property="Template">
    <Setter.Value>
        <ControlTemplate TargetType="ScrollBar">

            <!-- not sure what properties I need to override -->

        </ControlTemplate>
    </Setter.Value>
</Setter>
 
 <ScrollViewer Height="800" 
              Visibility="Visible">
    <ListView>
    <ListViewItem>Reboot</ListViewItem>
    <ListViewItem>Refresh Data</ListViewItem>
    <ListViewItem>Update Configs</ListViewItem>
        ...
    </ListView>
</ScrollViewer>
 

И результаты из приведенного выше XAML:

синяя тонкая полоса прокрутки

фиолетовая толстая полоса прокрутки

Комментарии:

1. Используя облегченные ресурсы для создания стиля, я не смог добиться нужного эффекта, вы можете взглянуть на стиль здесь: github.com/microsoft/microsoft-ui-xaml/blob/master/dev /… Если вам нужно изменить только вертикальную полосу прокрутки, практически все, что вам нужно изменить, должно быть внизу (найдите «VerticalRoot»). Вам все равно нужно будет скопировать весь шаблон :/