첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

■ GradientBrush 클래스의 SpreadMethod 속성을 사용하는 방법을 보여준다.

TestProject.zip
0.01MB

▶ 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
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요