2011-03-21 5 views

답변

1

기본적으로 제공되지 않습니다. 또한 불행하게도 Rectangle과 Border는 모두 봉인 된 클래스이므로 Shape 클래스를 확장하고 사각형을 구현하고 각 가장자리에 대한 Brush 종속성 속성을 만듭니다 (기본값은 이미 존재하는 Stroke Brush 임).

편집 : 대안으로 XAML에서 템플릿을 만들 수 있습니다. 서로의 위에 한 묶음의 테두리를 사용하고 각각 한 면만 표시하십시오.

2

두 개의 테두리를 서로 붙이면이 작업이 끝납니다. 그에 따라 테두리 두께를 조정합니다.

+0

+1 이것은 내가 막 게시하려고했던 것입니다. –

1

이미 언급 한 것 이외에도이 컨트롤은 그대로있는 컨트롤로 수행 할 수 없지만 그리드의 경로를 사용하여 원하는 효과에 따라 동일한 효과를 얻을 수 있습니다.

<Grid Margin="5"> 
    <Path Stroke="Red" StrokeThickness="1"> 
     <Path.Data> 
      <LineGeometry StartPoint="0 0" EndPoint="0 100"/> 
     </Path.Data> 
    </Path> 
    <Path Stroke="Yellow" StrokeThickness="1"> 
     <Path.Data> 
      <LineGeometry StartPoint="0 100" EndPoint="100 100"/> 
     </Path.Data> 
    </Path> 
    <Path Stroke="Pink" StrokeThickness="1"> 
     <Path.Data> 
      <LineGeometry StartPoint="100 100" EndPoint="100 0"/> 
     </Path.Data> 
    </Path> 
    <Path Stroke="Green" StrokeThickness="1"> 
     <Path.Data> 
      <LineGeometry StartPoint="100 0" EndPoint="0 0"/> 
     </Path.Data> 
    </Path> 
</Grid> 
0

당신은 당신의 테두리 더 복잡한 브러시를 사용하여이 작업을 수행 할 수 있습니다 :

<Border BorderThickness="2" Width="200" Height="100"> 
    <Border.BorderBrush> 
    <LinearGradientBrush StartPoint="0,0" EndPoint="0.5,0" SpreadMethod="Reflect"> 
     <GradientStop Color="Blue" Offset="0" /> 
     <GradientStop Color="Blue" Offset="0.02" /> 
     <GradientStop Color="Red" Offset="0.02" /> 
    </LinearGradientBrush> 
    </Border.BorderBrush> 
</Border> 

이 화려한하지 않고, 알려진 고정 된 경계의 크기에 의존한다. 그러나 다른 브러시 유형 중 일부를 사용하면 더 잘 작동 할 수있는 다른 변형이 있습니다.