2011-07-27 5 views
1

경로를 사용하여 WPF로 작성된 내 응용 프로그램의 사용자 지정 콘텐츠 테두리를 만듭니다. 제가 원했던 것은 모든 것을 대신하여 창을 뻗었을 때 (그림 2) 경로의 가운데 부분만을 늘리는 것입니다 (그림 3).xaml 경로의 일부분 늘리기

내 첫 번째 본능은 경로를 세 부분으로 나눠서 그리드에 넣는 것이 었습니다. 중간 경로가 늘어나면서 왼쪽 및 오른쪽 경로는 고정 된 상태로 유지됩니다. 문제는 3 가지 경로 사이에 들어가는 일없이 모든 것을 치는 방법을 알아낼 수 없다는 것입니다.

참고 : 참고 :이 이미지는 참조 용이며 실제 테두리는 더 복잡하지만 여전히 세 부분으로 구성되어 있습니다.

enter image description here

+0

세 경로 또는 이미지 간의 차이점을 이해할 수 없습니다. –

답변

1

왜 세 테두리 그리드를 사용하지 :

은 참조를 참조하십시오?

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto"/> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="Auto"/> 
    </Grid.ColumnDefinitions> 
    <Border Background="Blue" Grid.Column="0" MinWidth="50" CornerRadius="10,0,0,10" BorderBrush="LimeGreen" BorderThickness="2,2,0,2"/> 
    <Border Background="Red" Grid.Column="1" BorderBrush="LimeGreen" BorderThickness="0,2"/> 
    <Border Background="Blue" Grid.Column="2" MinWidth="50" CornerRadius="0,10,10,00" BorderThickness="0,2,2,2" BorderBrush="LimeGreen"/> 
</Grid> 

다른 방법으로 당신은 국경에서 그리드를 래핑 수 :

<Border CornerRadius="10" BorderThickness="1" Background="Blue" BorderBrush="Red"> 
    <Grid Background="Green" Margin="20,0"/> 
</Border> 

무엇이 필요에 대한 자세한 내용을 모른 채, 그것은 정답 어느 쪽 말을하기 어렵다. (클리핑 경로 나 흥미로운 모양으로 미친 짓을하는 경우 첫 번째 해결 방법이 더 쉬울 수도 있습니다.)

1

는 또한 중앙 부분을 스트레칭 할 수 있도록 그리드를 사용합니다. 테두리에 그리드 배치를 시도 했습니까? 이것은 셀 사이가 아닌 그리드 바깥쪽에 테두리 브러시를 만들어야하기 때문입니다.