728x90
반응형
728x170
■ GradientBrush 클래스의 SpreadMethod 속성을 사용하는 방법을 보여준다.
▶ MainWindow.xaml
<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"
FontFamily="나눔고딕코딩"
FontSize="16">
<Window.Resources>
<Style x:Key="AxisMarkerStyleKey" TargetType="{x:Type Line}">
<Setter Property="StrokeThickness" Value="4" />
<Setter Property="Stroke" Value="#ff3300" />
<Setter Property="StrokeStartLineCap" Value="Flat" />
<Setter Property="StrokeEndLineCap" Value="Flat" />
</Style>
</Window.Resources>
<Grid
HorizontalAlignment="Center"
VerticalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="10" />
<ColumnDefinition />
<ColumnDefinition Width="10" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="20" />
<RowDefinition Height="Auto" />
<RowDefinition Height="20" />
<RowDefinition Height="Auto" />
<RowDefinition Height="20" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Rectangle Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="5"
StrokeThickness="0"
Fill="DarkGray" />
<TextBlock Grid.Row="0" Grid.Column="0"
Margin="10">
Spread method
</TextBlock>
<TextBlock Grid.Row="0" Grid.Column="2"
Margin="10">
Linear gradient
</TextBlock>
<TextBlock Grid.Row="0" Grid.Column="4"
Margin="10">
Radial gradient
</TextBlock>
<TextBlock Grid.Row="2" Grid.Column="0"
Margin="10">
Pad
</TextBlock>
<Canvas Grid.Row="2" Grid.Column="2"
Margin="10"
Width="150"
Height="75">
<Rectangle
Width="150"
Height="75"
Stroke="Black">
<Rectangle.Fill>
<LinearGradientBrush
StartPoint="0.3 0.5"
EndPoint="0.7 0.5"
SpreadMethod="Pad">
<GradientStop Offset="0" Color="White" />
<GradientStop Offset="1" Color="#333333" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Line
Style="{StaticResource AxisMarkerStyleKey}"
X1="45"
Y1="40"
X2="105"
Y2="40" />
</Canvas>
<Canvas Grid.Row="2" Grid.Column="4"
Margin="10"
Width="150"
Height="75">
<Rectangle
Width="150"
Height="75"
Stroke="Black">
<Rectangle.Fill>
<RadialGradientBrush
Center="0.5 0.5"
RadiusX="0.3"
RadiusY="0.3"
SpreadMethod="Pad">
<GradientStop Offset="0" Color="White" />
<GradientStop Offset="1" Color="#333333" />
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Line
Style="{StaticResource AxisMarkerStyleKey}"
X1="75"
Y1="15"
X2="75"
Y2="60"
StrokeThickness="2" />
<Line
Style="{StaticResource AxisMarkerStyleKey}"
X1="30"
Y1="37.5"
X2="120"
Y2="37.5"
StrokeThickness="2" />
</Canvas>
<TextBlock Grid.Row="4" Grid.Column="0"
Margin="10">
Reflect
</TextBlock>
<Canvas Grid.Row="4" Grid.Column="2"
Margin="10"
Width="150"
Height="75">
<Rectangle
Width="150"
Height="75"
Stroke="Black">
<Rectangle.Fill>
<LinearGradientBrush
StartPoint="0.3 0.5"
EndPoint="0.7 0.5"
SpreadMethod="Reflect">
<GradientStop Offset="0" Color="White" />
<GradientStop Offset="1" Color="#333333" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Line
Style="{StaticResource AxisMarkerStyleKey}"
X1="45"
Y1="40"
X2="105"
Y2="40" />
</Canvas>
<Canvas Grid.Row="4" Grid.Column="4"
Margin="10"
Width="150"
Height="75">
<Rectangle
Width="150"
Height="75"
Stroke="Black">
<Rectangle.Fill>
<RadialGradientBrush
Center="0.5 0.5"
RadiusX="0.3"
RadiusY="0.3"
SpreadMethod="Reflect">
<GradientStop Offset="0" Color="White" />
<GradientStop Offset="1" Color="#333333" />
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Line
Style="{StaticResource AxisMarkerStyleKey}"
X1="75"
Y1="15"
X2="75"
Y2="60"
StrokeThickness="2" />
<Line
Style="{StaticResource AxisMarkerStyleKey}"
X1="30"
Y1="37.5"
X2="120"
Y2="37.5"
StrokeThickness="2" />
</Canvas>
<TextBlock Grid.Row="6" Grid.Column="0"
Margin="10">
Repeat
</TextBlock>
<Canvas Grid.Row="6" Grid.Column="2"
Margin="10"
Width="150"
Height="75">
<Rectangle
Width="150"
Height="75"
Stroke="Black">
<Rectangle.Fill>
<LinearGradientBrush
StartPoint="0.3 0.5"
EndPoint="0.7 0.5"
SpreadMethod="Repeat">
<GradientStop Offset="0" Color="White" />
<GradientStop Offset="1" Color="#333333" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Line
Style="{StaticResource AxisMarkerStyleKey}"
X1="45"
Y1="40"
X2="105"
Y2="40" />
</Canvas>
<Canvas Grid.Row="6" Grid.Column="4"
Margin="10"
Width="150"
Height="75">
<Rectangle
Width="150"
Height="75"
Stroke="Black">
<Rectangle.Fill>
<RadialGradientBrush
Center="0.5 0.5"
RadiusX="0.3"
RadiusY="0.3"
SpreadMethod="Repeat">
<GradientStop Offset="0" Color="White" />
<GradientStop Offset="1" Color="#333333" />
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Line
Style="{StaticResource AxisMarkerStyleKey}"
X1="75"
Y1="15"
X2="75"
Y2="60"
StrokeThickness="2" />
<Line
Style="{StaticResource AxisMarkerStyleKey}"
X1="30"
Y1="37.5"
X2="120"
Y2="37.5"
StrokeThickness="2" />
</Canvas>
</Grid>
</Window>
728x90
반응형
그리드형(광고전용)
'C# > WPF' 카테고리의 다른 글
[C#/WPF] Image 엘리먼트 : OpacityMask 속성에서 ImageBrush 객체 사용하기 (0) | 2023.03.16 |
---|---|
[C#/WPF] Image 엘리먼트 : OpacityMask 속성에서 DrawingBrush 객체 사용하기 (0) | 2023.03.16 |
[C#/WPF] Button 엘리먼트 : OpacityMask 속성에서 DrawingBrush 객체 사용하기 (0) | 2023.03.16 |
[C#/WPF] Brush 클래스 : 브러시 사용하기 (0) | 2023.03.16 |
[C#/WPF] RadialGradientBrush 엘리먼트 : 애니메이션 설정하기 (0) | 2023.03.16 |
[C#/WPF] Shape 클래스 : StrokeDashArray/StrokeDashOffset 속성 사용하기 (0) | 2023.03.16 |
[C#/WPF] GradientBrush 클래스 : GradientStops 속성 사용하기 (0) | 2023.03.14 |
[C#/WPF] Brush 클래스 : Opacity 속성을 사용해 브러시 투명도 설정하기 (0) | 2023.03.13 |
[C#/WPF] DrawingBrush 엘리먼트 사용하기 (0) | 2023.03.09 |
[C#/WPF] DrawingBrush 클래스 사용하기 (0) | 2023.03.09 |
댓글을 달아 주세요