2010-05-28 3 views

답변

12

테두리를 테두리로 바꾸고 전체 영역을 채우는 직사각형을 사용할 수 있습니까?

<Rectangle Stretch="Fill" RadiusX="10" RadiusY="10" StrokeDashArray="10, 2" Stroke="Black" Fill="White" /> 

StrokeDashArray는 점선으로 그리려면 사용할 수 있지만 테두리에는 이러한 속성이 없습니다. 당신은/빨간 점의 폭을 조정하는 중간 두 개의 GradientStop의의 Offset를 조정이

<Border Width="100" Height="100" Background="Blue" BorderThickness="0,0,0,1"> 
    <Border.BorderBrush> 
     <LinearGradientBrush StartPoint="0,0" EndPoint=".2,0" SpreadMethod="Repeat" > 
      <GradientStopCollection> 
       <GradientStop Color="Transparent" Offset="0" /> 
       <GradientStop Color="Transparent" Offset="0.3" /> 
       <GradientStop Color="Red" Offset="0.3" /> 
       <GradientStop Color="Red" Offset="0.6" /> 
       <GradientStop Color="Transparent" Offset="0.6" /> 
       <GradientStop Color="Transparent" Offset="1" /> 
      </GradientStopCollection> 
     </LinearGradientBrush> 
    </Border.BorderBrush> 
</Border> 

처럼 뭔가를 할 수 아래쪽 테두리를 찍는하는 눈치 때문에

:

편집 대시. 원하는 간격으로 반복되도록 끝점을 조정해야 할 수도 있습니다.

+2

크기가 커질 때 줄 따라 대시가 움직이지 않게하려면'LinearGradientBrush'에'MappingMode = "Absolute"를 설정해야합니다. 또한 변경 한 후에 다른 매개 변수를 조정해야 할 수도 있습니다. –

6

스테판의 대답이 도움이됩니다. 당신이 경우,

<!-- Vertical dotted line --> 
<Border VerticalAlignment="Stretch" Width="1" BorderThickness="0,0,1,0"> 
    <Border.BorderBrush> 
    <LinearGradientBrush StartPoint="0,0" EndPoint="0,2" 
         SpreadMethod="Repeat" MappingMode="Absolute"> 
     <GradientStop Color="Transparent" Offset="0" /> 
     <GradientStop Color="Transparent" Offset="0.499" /> 
     <GradientStop Color="#999" Offset="0.5" /> 
    </LinearGradientBrush> 
    </Border.BorderBrush>        
</Border> 

공교롭게도 : 여기

<!-- Horizontal dotted line --> 
<Border HorizontalAlignment="Stretch" Height="1" BorderThickness="0,0,0,1"> 
    <Border.BorderBrush> 
    <LinearGradientBrush StartPoint="0,0" EndPoint="2,0" 
         SpreadMethod="Repeat" MappingMode="Absolute"> 
     <GradientStop Color="Transparent" Offset="0" /> 
     <GradientStop Color="Transparent" Offset="0.499" /> 
     <GradientStop Color="#999" Offset="0.5" /> 
    </LinearGradientBrush> 
    </Border.BorderBrush>        
</Border> 

수직 점선을위한 대안 : 당신이 크기를 조정할 약 스트레칭없는 간단한 점선을 원하는 그러나 경우,이 XAML을 시도 1px 너비/높이가 아닌 영역에서이 브러시를 사용하면 멋진 핀 스트라이프 패턴을 얻을 수 있습니다.

관련 문제