2012-09-06 126 views
0

这是如何处理的?我有这样的XAML:Silverlight StackPanel里面带圆角的边框

的StackPanel中的
<Border Grid.Column="1" HorizontalAlignment="Right" 
     VerticalAlignment="Top" Margin="10,25,10,0" Opacity="0.7" 
     BorderBrush="Black" BorderThickness="1" CornerRadius="5"> 
     <StackPanel> 
      <StackPanel.Background> 
       <LinearGradientBrush StartPoint="0,0" EndPoint="1,1"> 
        <GradientStop Color="LightGray" Offset="0.0" /> 
        <GradientStop Color="Gray" Offset="1.0" /> 
       </LinearGradientBrush> 
      </StackPanel.Background> 

的左上角和右上角是浅灰色,而且似乎是在边界的顶部,这样在圆黑角的中间是一个浅灰色像素或两个,打破四舍五入。底部边框是灰色而不是黑色。

我想我会用代码得到上面是带有圆角一个StackPanel ...

回答

1

我建议把边境上的背景,而不是StackPanel中

<Border Grid.Column="1" HorizontalAlignment="Right" 
    VerticalAlignment="Top" Margin="10,25,10,0" Opacity="0.7" 
    BorderBrush="Black" BorderThickness="1" CornerRadius="5"> 
    <Border.Background> 
     <LinearGradientBrush StartPoint="0,0" EndPoint="1,1"> 
      <GradientStop Color="LightGray" Offset="0.0" /> 
      <GradientStop Color="Gray" Offset="1.0" /> 
     </LinearGradientBrush> 
    </Border.Background> 
    <StackPanel> 
     <!-- Items here --> 
    </StackPanel> 
</Border> 
+0

修复该问题与角落。我的底部边框仍然被最后一个GradientStop Color消除。 –

+0

呃?我用上面的两个TextBlocks的xaml,它看起来不错。 –