[WPF]: стиль полосы прокрутки, но стиль полосы прокрутки ListView не зависит от стиля - PullRequest
5 голосов
/ 28 апреля 2010

Я оформляю полосу прокрутки в resourceDictionary, не задавая ей значение ключа:

<Style TargetType="{x:Type ScrollBar}">
      ...
</Style>

По какой-то причине стиль влияет только на компонент типа Scrollbar. Не полоса прокрутки компонента ListView!

Я думаю, что все полосы прокрутки будут иметь одинаковый стиль, так как я не использую какое-либо ключевое значение в определении стиля!

Есть идеи?

1 Ответ

1 голос
/ 28 апреля 2010

Поведение WPF по умолчанию состоит в том, что ваш неявный стиль ScrollBar будет применяться к полосам прокрутки в ListBox.Если это не происходит в вашем приложении, то есть что-то, что переопределяет это поведение по умолчанию.У вас есть шаблон, примененный к ListBox?

Мое тестовое приложение, чтобы проверить поведение стиля по умолчанию ниже:

<Window x:Class="TestScrollBarStyle.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">

<Window.Resources>        
    <Style TargetType="ScrollBar">
        <Setter Property="Background" Value="Red" />
    </Style>        
</Window.Resources>   

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>

    <ScrollViewer x:Name="scroll">
        <Rectangle Height="200" />
    </ScrollViewer>

    <ListBox Grid.Row="1" ScrollViewer.VerticalScrollBarVisibility="Visible">
        <ListBoxItem>Test 1</ListBoxItem>
        <ListBoxItem>Test 2</ListBoxItem>
        <ListBoxItem>Test 3</ListBoxItem>
        <ListBoxItem>Test 4</ListBoxItem>
        <ListBoxItem>Test 5</ListBoxItem>
        <ListBoxItem>Test 6</ListBoxItem>
        <ListBoxItem>Test 7</ListBoxItem>
        <ListBoxItem>Test 8</ListBoxItem>
        <ListBoxItem>Test 9</ListBoxItem>
        <ListBoxItem>Test 10</ListBoxItem>
        <ListBoxItem>Test 11</ListBoxItem>
    </ListBox>

</Grid>

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