반응형
WPF 드롭섀도
를 설정할 때마다Border.Effect
컨트롤에 포함된 모든 컨트롤에는 드롭 섀도가 있습니다.
국경의 모든 제어가 아닌 국경에만 그림자를 설정하는 방법이 있을까요?
다음은 내 코드의 간단한 예입니다.
<Grid>
<Border Margin="68,67,60,67" BorderBrush="Black" BorderThickness="1" CornerRadius="10">
<Border.Effect>
<DropShadowEffect/>
</Border.Effect>
<Rectangle Fill="White" Stroke="Black" Margin="37,89,118,98" />
</Border>
</Grid>
두 가지 선택지가 있습니다.
옵션 1: 효과가 있는 테두리 요소를 테두리/사각형 요소 트리의 형제로서 추가합니다.다음과 같은 경우:
<Grid>
<Border Margin="68,67,60,67"
BorderBrush="Black"
BorderThickness="1"
CornerRadius="10">
<Border.Effect>
<DropShadowEffect />
</Border.Effect>
</Border>
<Border Margin="68,67,60,67"
BorderBrush="Black"
BorderThickness="1"
CornerRadius="10">
<Rectangle Fill="White"
Stroke="Black"
Margin="37,89,118,98">
</Rectangle>
</Border>
</Grid>
옵션 2: 다음과 같이 사각형을 테두리 요소의 형제 모양으로 배치합니다.
<Grid>
<Border Margin="68,67,60,67"
BorderBrush="Black"
BorderThickness="1"
CornerRadius="10">
<Border.Effect>
<DropShadowEffect />
</Border.Effect>
</Border>
<Rectangle Fill="White"
Stroke="Black"
Margin="37,89,118,98">
</Rectangle>
</Grid>
메모: 두 번째 솔루션의 레이아웃을 조정하여 직사각형이 원하는 위치에 오도록 해야 합니다.
당신의 질문에 답이 있는 것은 알지만, 가장 간단한 답은 아닌 것 같습니다.질문에 대한 가장 간단한 대답은 그림자를 설정한 컨트롤의 배경을 색칠하는 것입니다.다음과 같은 경우:
<Grid>
<Border Margin="68,67,60,67" Background="White" BorderBrush="Black"
BorderThickness="1" CornerRadius="10">
<Border.Effect>
<DropShadowEffect/>
</Border.Effect>
<Rectangle Fill="White" Stroke="Black" Margin="37,89,118,98" />
</Border>
</Grid>
그 결과:
흰색 툴바와 비슷한 디자인을 사용해 보았습니다.
사용법은 다음과 같습니다.
<Border CornerRadius="8" Background="White" Grid.Row="1">
<Border.Effect>
<DropShadowEffect ShadowDepth="3" Opacity="0.2"/>
</Border.Effect>
</Border>
언급URL : https://stackoverflow.com/questions/2831062/wpf-drop-shadow
반응형
'programing' 카테고리의 다른 글
반복하는 동안 일반 목록에서 요소를 제거하려면 어떻게 해야 합니까? (0) | 2023.04.17 |
---|---|
셸 기능을 삭제/삭제하려면 어떻게 해야 하나요? (0) | 2023.04.17 |
Git을 사용하여 원격 저장소에 태그를 푸시하려면 어떻게 해야 합니까? (0) | 2023.04.17 |
UIScroll View를 가져와 맨 위로 스크롤합니다. (0) | 2023.04.17 |
Swift에서 XIB 파일을 사용하여 커스텀 UIView 클래스를 초기화/인스턴스하는 방법 (0) | 2023.04.17 |