<UserControl
    x:Class="MECF.Framework.UI.Client.IndustrialControl.PipeLineThree"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:converters="clr-namespace:MECF.Framework.UI.Client.IndustrialControl.Converters"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:local="clr-namespace:MECF.Framework.UI.Client.IndustrialControl"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    d:DesignHeight="200"
    d:DesignWidth="300"
    mc:Ignorable="d">
    <UserControl.Resources>
        <converters:VisibilityConverter x:Key="visibilityConverter" />
    </UserControl.Resources>
    <Canvas x:Name="canvas1">
        <Rectangle
            Width="{Binding ElementName=canvas1, Path=ActualWidth}"
            Height="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=PipeWidth}"
            Stretch="Fill">
            <Rectangle.Fill>
                <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                    <GradientStop Offset="0" Color="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=EdgeColor}" />
                    <GradientStop Offset="0.5" Color="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=CenterColor}" />
                    <GradientStop Offset="1" Color="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=EdgeColor}" />
                </LinearGradientBrush>
            </Rectangle.Fill>
        </Rectangle>
        <Polygon x:Name="polygon1" Points="130,40 150,20 170,40 170,200 130,200 130, 40">
            <Polygon.Fill>
                <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
                    <GradientStop Offset="0" Color="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=EdgeColor}" />
                    <GradientStop Offset="0.5" Color="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=CenterColor}" />
                    <GradientStop Offset="1" Color="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=EdgeColor}" />
                </LinearGradientBrush>
            </Polygon.Fill>
        </Polygon>

        <Path
            x:Name="path1"
            StrokeDashArray="5,5"
            StrokeDashOffset="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=LineOffect1}"
            StrokeThickness="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=PipeLineWidth}"
            Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=PipeLineActive1, Converter={StaticResource visibilityConverter}}">
            <Path.Stroke>
                <SolidColorBrush Color="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=ActiveLineCenterColor}" />
            </Path.Stroke>
        </Path>
        <Path
            x:Name="path2"
            StrokeDashArray="5,5"
            StrokeDashOffset="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=LineOffect2}"
            StrokeThickness="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=PipeLineWidth}"
            Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=PipeLineActive2, Converter={StaticResource visibilityConverter}}">
            <Path.Stroke>
                <SolidColorBrush Color="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=ActiveLineCenterColor}" />
            </Path.Stroke>
        </Path>
        <Path
            x:Name="path3"
            StrokeDashArray="5,5"
            StrokeDashOffset="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=LineOffect3}"
            StrokeThickness="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=PipeLineWidth}"
            Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=PipeLineActive3, Converter={StaticResource visibilityConverter}}">
            <Path.Stroke>
                <SolidColorBrush Color="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:PipeLineThree}}, Path=ActiveLineCenterColor}" />
            </Path.Stroke>
        </Path>
    </Canvas>
</UserControl>
