728x90
반응형
728x170
■ VisualBrush 엘리먼트를 사용해 반사 효과를 만드는 방법을 보여준다.
▶ MainWindow.xaml
<Window Name="window" x:Class="TestProject.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="800"
Height="600"
Title="TestProject"
Background="Black"
FontFamily="나눔고딕코딩"
FontSize="16">
<StackPanel
HorizontalAlignment="Center"
VerticalAlignment="Center">
<Border Name="sourceBorder"
Width="400">
<Border.Background>
<LinearGradientBrush
StartPoint="0 0.5"
EndPoint="1 0.5">
<GradientStop Offset="0.0" Color="#ccccff" />
<GradientStop Offset="1.0" Color="White" />
</LinearGradientBrush>
</Border.Background>
<StackPanel
Orientation="Horizontal"
Margin="10">
<TextBlock
Margin="10"
Width="200"
TextWrapping="Wrap">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Suspendisse vel ante. Donec luctus tortor sit amet est.
Nullam pulvinar odio et wisi.
Pellentesque quis magna. Sed pellentesque.
Nulla euismod.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
</TextBlock>
<StackPanel>
<Ellipse Margin="10" Height="50" Width="50" Fill="Black" />
<Ellipse Margin="10" Height="50" Width="50" Fill="Black" />
<Ellipse Margin="10" Height="50" Width="50" Fill="Black" />
</StackPanel>
</StackPanel>
</Border>
<Rectangle
HorizontalAlignment="Stretch"
Height="1"
Fill="Gray" />
<Rectangle
Width="{Binding Path=ActualWidth, ElementName=sourceBorder}"
Height="{Binding Path=ActualHeight, ElementName=sourceBorder}">
<Rectangle.Fill>
<VisualBrush
Stretch="None"
Opacity="0.75"
Visual="{Binding ElementName=sourceBorder}">
<VisualBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform
ScaleX="1"
ScaleY="-1" />
<TranslateTransform Y="1" />
</TransformGroup>
</VisualBrush.RelativeTransform>
</VisualBrush>
</Rectangle.Fill>
<Rectangle.OpacityMask>
<LinearGradientBrush
StartPoint="0.5 0"
EndPoint="0.5 1">
<GradientStop Offset="0.0" Color="#FF000000" />
<GradientStop Offset="0.5" Color="#33000000" />
<GradientStop Offset="0.75" Color="#00000000" />
</LinearGradientBrush>
</Rectangle.OpacityMask>
<Rectangle.BitmapEffect>
<BlurBitmapEffect Radius="1.5" />
</Rectangle.BitmapEffect>
</Rectangle>
</StackPanel>
</Window>
728x90
반응형
그리드형(광고전용)
'C# > WPF' 카테고리의 다른 글
[C#/WPF] RadioButton 엘리먼트 : 글래스 효과 라디오 버튼 만들기 (0) | 2023.03.18 |
---|---|
[C#/WPF] DrawingBrush 엘리먼트 : 드로잉 브러시 애니메이션 만들기 (0) | 2023.03.18 |
[C#/WPF] ImageDrawing 엘리먼트 사용하기 (0) | 2023.03.18 |
[C#/WPF] DrawingBrush 엘리먼트 : Transform/RelativeTransform 속성 사용하기 (0) | 2023.03.18 |
[C#/WPF] DrawingBrush 엘리먼트 사용하기 (0) | 2023.03.17 |
[C#/WPF] DrawingBrush 엘리먼트 사용하기 (0) | 2023.03.17 |
[C#/WPF] DrawingBrush 엘리먼트 : 배경 애니메이션 만들기 (0) | 2023.03.17 |
[C#/WPF] Image 엘리먼트 : OpacityMask 속성에서 LinearGradientBrush 객체 사용하기 (0) | 2023.03.16 |
[C#/WPF] Image 엘리먼트 : OpacityMask 속성에서 ImageBrush 객체 사용하기 (0) | 2023.03.16 |
[C#/WPF] Image 엘리먼트 : OpacityMask 속성에서 DrawingBrush 객체 사용하기 (0) | 2023.03.16 |
댓글을 달아 주세요