2012-03-25 14 views
6

Estoy diseñando un listBox. Intento despejar los márgenes, así que me di cuenta de que, configuré el relleno del estilo en 0 (relleno izquierdo).¿Cómo eliminar el pequeño relleno alrededor del ListBoxItem?

Pero todavía puedo ver un margen en él, y no necesito tener ningún margen en él? ¿Sabes cuál sería el problema?

enter image description here

  <ListBox ItemsSource="{Binding Partitions}"> 
       <ListBox.ItemsPanel> 
        <ItemsPanelTemplate> 
         <Canvas /> 
        </ItemsPanelTemplate> 
       </ListBox.ItemsPanel> 

       <ListBox.ItemContainerStyle> 
        <Style TargetType="ListBoxItem"> 
         <Setter Property="Padding" Value="0"/> 
         <Setter Property="Canvas.Top"> 
          ... 
         </Setter> 
       </Style> 
       </ListBox.ItemContainerStyle> 

quiero decir, puedo ver un espacio adicional alrededor del artículo y no puedo manejarlo a modificar a 0.

+1

¿Cuál es su código completo? Lo conecté a una Grilla básica y no tengo ese problema –

+1

Posible [duplicado] (http://stackoverflow.com/questions/1351605/where-are-the-margins-padding-set-on-a-wpf-listview -vista en cuadrícula). Ver la segunda respuesta en la pregunta. – NVM

Respuesta

3

que el relleno está codificada en el default template de el ListBox, debe reemplazarlo o modificarlo en el tiempo de ejecución (que yo recomendaría no).

<ControlTemplate TargetType="{x:Type ListBox}"> 
    <Border Name="Bd" 
      Background="{TemplateBinding Background}" 
      BorderBrush="{TemplateBinding BorderBrush}" 
      BorderThickness="{TemplateBinding BorderThickness}" 
      SnapsToDevicePixels="true" 
      Padding="1"> <!-- Here --> 
Cuestiones relacionadas