2011-08-24 8 views
7

Quiero personalizar la siguiente propiedad ListBox-display de border con CornerRadius = 5..puede alguien ayudarme a lograrlo sin cambiar el código de la datatemplate existente en el siguiente código Xaml:personalice la propiedad Borde con CornerRadius para ListBox

<ListBox x:Uid="lst_value" Name="lstValues" Background="Wheat" BorderBrush="Black" 
     HorizontalAlignment="Left" VerticalAlignment="Top" BorderThickness="1" Height="100" Width="150" 
     ItemsSource="{Binding listval}" > 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel Orientation="Vertical" Background="{Binding}"> 
       <TextBlock x:Name="txtblk" Foreground="Black" FontSize="10" TextAlignment="Left" 
               FontWeight="Black" Text="{Binding}" Background="{Binding}"></TextBlock> 
      </StackPanel> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

Respuesta

10

Si desea que el Border dentro del ListBoxItems tener otro valor CornerRadius, puede o bien volver a la plantilla ListBoxItem donde el Border se define, o configurarlo de manera implícita en los ItemContainerStyle Recursos

<ListBox ...> 
    <ListBox.ItemContainerStyle> 
     <Style TargetType="ListBoxItem"> 
      <Style.Resources> 
       <Style TargetType="Border"> 
        <Setter Property="CornerRadius" Value="5"/> 
       </Style> 
      </Style.Resources> 
     </Style> 
    </ListBox.ItemContainerStyle> 
    <!--...--> 
</ListBox> 

Editar: Si desea establecer CornerRadius para la ListBox, puede hacer lo mismo, pero en lugar Resources

<ListBox ...> 
     <ListBox.Resources> 
      <Style TargetType="Border"> 
       <Setter Property="CornerRadius" Value="10"/> 
      </Style> 
     </ListBox.Resources> 
    <!--...--> 
</ListBox> 
+0

sí, podemos tener un borde interior del cuadro de lista para cada ListItem ... donde como Necesito la propiedad del borde con cornerradius para aplicarla a todo el Listbox en sí ... Espero que quede claro con mi pregunta ... –

+0

Así que quieres redondear las esquinas del 'ListBox' y tener un' Border', ¿es correcto? ? –

+0

Actualicé mi respuesta con la forma en que puede hacer esto para 'ListBox' en lugar de' ListBoxItems' –

Cuestiones relacionadas