2011-08-24 28 views
7

Tôi muốn tùy chỉnh thuộc tính hiển thị hộp danh sách sau đây của đường viền với CornerRadius = 5..can mọi người có thể giúp tôi đạt được nó mà không thay đổi mã datatemplate hiện tại trong mã Xaml sau:tùy chỉnh thuộc tính Border với CornerRadius cho 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> 

Trả lời

10

Nếu bạn muốn Border trong ListBoxItems có giá trị khác CornerRadius, bạn có thể tái mẫu ListBoxItem nơi Border được xác định, hoặc thiết lập nó ngầm trong ItemContainerStyle Tài

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

Edit: Nếu bạn muốn thiết lập CornerRadius cho ListBox, bạn có thể làm như vậy nhưng trong Resources thay

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

vâng, chúng ta có thể có một đường viền bên trong listbox cho mỗi listItem ... nơi như Tôi cần các tài sản biên giới với cornerradius được áp dụng cho toàn bộ Listbox chính nó .... hy vọng rõ ràng với câu hỏi của tôi .. –

+0

Vì vậy, bạn muốn làm tròn các góc của 'ListBox' và có một' Border', là chính xác ? –

+0

Cập nhật câu trả lời của tôi với cách bạn có thể làm điều này cho 'ListBox' thay vì' ListBoxItems' –

Các vấn đề liên quan