2011-11-09 6 views
3

호프 내 질문에 쉽게 :) 나는 모서리 반경이있는 주 용기로 테두리가 있습니다. 내부에 GRID가 있고 그리드에 배경색을 설정하고 싶다면 모서리 바깥쪽에 못생긴 채우기 부분이 생깁니다 ...채우기 "모서리 방사형"경계

그렇다면 BORDER를 글로벌 컨테이너처럼 설정할 수 있습니까? 안에있는 모든 것이 내부에 남아 있습니까?

감사합니다.

답변

6

가 다음과 같은 질문을 참조하십시오 : 당신은 그냥 그리드가 완전히 경계 내부에 싶다면 이제, 둥근 모서리 반경 보상 그리드의 여백 설정 How to make the contents of a round-cornered border be also round-cornered?

ClippingBorder 대답에서 작업을 수행 이것에 아주 좋은 직업. 다음은 일반 BorderClippingBorder 사이의 비교입니다.

enter image description here

<StackPanel Orientation="Horizontal"> 
    <Border CornerRadius="20,20,20,20" 
      BorderThickness="4" 
      BorderBrush="Black" 
      Width="50" 
      Height="50"> 
     <Grid Background="Red"/> 
    </Border> 
    <controls:ClippingBorder CornerRadius="20,20,20,20" 
          BorderThickness="4" 
          BorderBrush="Black" 
          Width="50" 
          Height="50" 
          Margin="20,0,0,0"> 
     <Grid Background="Red"/> 
    </controls:ClippingBorder> 
</StackPanel> 
+0

나는이 방법에 대한 질문이 왜 Border.Background 속성을 Red로 설정하여 동일한 결과를 얻을 수 있다면이 모든 문제를 해결할 수 있을까요? 이 방법으로 해결할 배경색과 관련이없는 다른 사례가 있습니까? – Murven

+0

@ Murren : 이것은 물론 좋은 예입니다. 문제는 'Border'의 내용이 'Border'를 넘어 확장 될 수 없다는 것입니다. 예를 들어, 모서리가 둥근 모서리와 테두리가있는지도 나 사진을 표시하려고합니다. –

+0

내 말은 +1을 의미합니다. – Murven

0

둥근 모서리를 채우려면 배경색을 지정해야합니다. 경계선 자체에 그리드가 아닌 배경 속성을 설정해야합니다.

<Border CornerRadius="10" 
     BorderBrush="Black" 
     BorderThickness="5" 
     Background="Green"> 
    <Grid Background="Red" 
      Margin="2.5"> 

    </Grid> 
</Border> 
+0

나는이 그것은 코너 반경의 독립과 전체 영역뿐만 아니라 사각형을 작성해야합니다 :) 유일한 해결책이라고 생각하지 않습니다 .. –