2010-04-28 24 views
5

estoy Styling una barra de desplazamiento en un ResourceDictionary sin darle un valor clave:[WPF]: El estilo de una barra de desplazamiento, pero la barra de desplazamiento ListView no está afectado por el estilo

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

Bur por alguna razón solamente un componente del tipo Scrollbar se ven afectados por el estilo. ¡No es la barra de desplazamiento del componente ListView!

Creo que todas las barras de desplazamiento tendrían el mismo estilo ya que no estoy usando ningún valor clave en la definición de estilo.

¿Alguna idea?

+0

Debe ser como usted explicó, por lo tanto, me imagino que el mal comportamiento es causado por algo más. ¿Puedes publicar el código de tu componente ListView? – Drake

Respuesta

1

El comportamiento de WPF predeterminado es que su estilo implícito de ScrollBar se aplicaría a las barras de desplazamiento en el ListBox. Si esto no ocurre en su aplicación, hay algo que anula este comportamiento predeterminado. ¿Tienes una Plantilla aplicada al ListBox?

Mi aplicación de prueba para probar el comportamiento de estilo predeterminado es el siguiente:

<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> 

Cuestiones relacionadas