■ RelativeSource 태그 확장 : Style 엘리먼트 내에서 사용하기

----------------------------------------------------------------------------------------------------

<Canvas

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Canvas.Resources>

        <Style x:Key="BaseStyleKey" TargetType="{x:Type Line}">

            <Setter Property="Stroke" Value="Blue" />

        </Style>

        <Style x:Key="HorizontalStyleKey" TargetType="{x:Type Line}" BasedOn="{StaticResource BaseStyleKey}">

            <Setter Property="X1" Value="100" />

            <Setter Property="X2" Value="300" />

            <Setter Property="Y2" Value="{Binding RelativeSource={RelativeSource self}, Path=Y1}" />

        </Style>

        <Style x:Key="VerticalStyleKey" TargetType="{x:Type Line}" BasedOn="{StaticResource BaseStyleKey}">

            <Setter Property="Y1" Value="100" />

            <Setter Property="Y2" Value="300" />

            <Setter Property="X2" Value="{Binding RelativeSource={RelativeSource self}, Path=X1}" />

        </Style>

    </Canvas.Resources>

    <Line Style="{StaticResource HorizontalStyleKey}" Y1="100" />

    <Line Style="{StaticResource HorizontalStyleKey}" Y1="125" />

    <Line Style="{StaticResource HorizontalStyleKey}" Y1="150" />

    <Line Style="{StaticResource HorizontalStyleKey}" Y1="175" />

    <Line Style="{StaticResource HorizontalStyleKey}" Y1="200" />

    <Line Style="{StaticResource HorizontalStyleKey}" Y1="225" />

    <Line Style="{StaticResource HorizontalStyleKey}" Y1="250" />

    <Line Style="{StaticResource HorizontalStyleKey}" Y1="275" />

    <Line Style="{StaticResource HorizontalStyleKey}" Y1="300" />

 

    <Line Style="{StaticResource VerticalStyleKey}" X1="100" />

    <Line Style="{StaticResource VerticalStyleKey}" X1="125" />

    <Line Style="{StaticResource VerticalStyleKey}" X1="150" />

    <Line Style="{StaticResource VerticalStyleKey}" X1="175" />

    <Line Style="{StaticResource VerticalStyleKey}" X1="200" />

    <Line Style="{StaticResource VerticalStyleKey}" X1="225" />

    <Line Style="{StaticResource VerticalStyleKey}" X1="250" />

    <Line Style="{StaticResource VerticalStyleKey}" X1="275" />

    <Line Style="{StaticResource VerticalStyleKey}" X1="300" />

</Canvas>

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG