<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    
    <Color x:Key="MaterialColor" A="255" B="149" G="149" R="50"/>
    <Color x:Key="MaterialFrameColor" A="255" B="100" G="100" R="0"/>

    <SolidColorBrush x:Key="MaterialCanvas" Color="{DynamicResource MaterialColor}"/>
    <SolidColorBrush x:Key="MaterialFrame" Color="{DynamicResource MaterialFrameColor}"/>

    <Style x:Key="ButtonMaterialCanvas" TargetType="Canvas" BasedOn="{StaticResource ButtonCanvas}">
        <Setter Property="Background" Value="{DynamicResource MaterialCanvas}"/>
    </Style>

    <Style x:Key="DashedLine" TargetType="Line">
        <Setter Property="StrokeThickness" Value="0.5"/>
    </Style>

    <Style x:Key="DashedConcreteLine" TargetType="Line" BasedOn="{StaticResource DashedLine}">
        <Setter Property="StrokeDashArray" Value="10 4 1 4"/>
    </Style>

    <Style x:Key="DashedCarbonLine" TargetType="Line" BasedOn="{StaticResource DashedLine}">
        <Setter Property="StrokeDashArray" Value="1 1"/>
        <Setter Property="StrokeThickness" Value="2"/>
    </Style>

    <DataTemplate x:Key="CarbonFiberMaterial">
        <Canvas Style="{DynamicResource ButtonMaterialCanvas}">
            <Canvas.Children>
                <ContentControl ContentTemplate="{DynamicResource ButtonMaterialRectangle}"/>
                <Line Style="{StaticResource DashedCarbonLine}" X1="3" Y1="10" X2="10" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedCarbonLine}" X1="3" Y1="15" X2="15" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedCarbonLine}" X1="3" Y1="20" X2="20" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedCarbonLine}" X1="3" Y1="25" X2="25" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedCarbonLine}" X1="4" Y1="29" X2="29" Y2="4" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedCarbonLine}" X1="9" Y1="29" X2="29" Y2="9" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedCarbonLine}" X1="14" Y1="29" X2="29" Y2="14" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedCarbonLine}" X1="19" Y1="29" X2="29" Y2="19" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedCarbonLine}" X1="24" Y1="29" X2="29" Y2="24" Stroke="{StaticResource MaterialFrame}"/>
                <TextBlock FontSize="10" Text="FRP" FontWeight="Bold" Margin="5,2,0,0" Foreground="Black"/>
            </Canvas.Children>
        </Canvas>
    </DataTemplate>

    <DataTemplate x:Key="ConcreteMaterial">
        <Canvas Style="{DynamicResource ButtonMaterialCanvas}">
            <Canvas.Children>
                <ContentControl ContentTemplate="{DynamicResource ButtonMaterialRectangle}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="3" Y1="10" X2="10" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="3" Y1="15" X2="15" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="3" Y1="20" X2="20" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="3" Y1="25" X2="25" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="4" Y1="29" X2="29" Y2="4" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="9" Y1="29" X2="29" Y2="9" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="14" Y1="29" X2="29" Y2="14" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="19" Y1="29" X2="29" Y2="19" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="24" Y1="29" X2="29" Y2="24" Stroke="{StaticResource MaterialFrame}"/>
                <TextBlock FontSize="10" Text="Con" FontWeight="Bold" Margin="5,2,0,0" Foreground="Black"/>
            </Canvas.Children>
        </Canvas>
    </DataTemplate>

    <DataTemplate x:Key="ElasticMaterial">
        <Canvas Style="{DynamicResource ButtonMaterialCanvas}">
            <Canvas.Children>
                <ContentControl ContentTemplate="{DynamicResource ButtonMaterialRectangle}"/>
                <Line X1="16" Y1="5" X2="16" Y2="27" Stroke="{StaticResource MaterialFrame}"/>
                <Line X1="5" Y1="16" X2="27" Y2="16" Stroke="{StaticResource MaterialFrame}"/>
                <Line X1="5" Y1="27" X2="27" Y2="5" Stroke="{StaticResource MaterialFrame}" StrokeThickness="0.5"/>
                <TextBlock FontSize="10" Text="Elast" FontWeight="Bold" Margin="5,2,0,0" Foreground="Black"/>
            </Canvas.Children>
        </Canvas>
    </DataTemplate>

    <DataTemplate x:Key="GlassFiberMaterial">
        <Canvas Style="{DynamicResource ButtonMaterialCanvas}">
            <Canvas.Children>
                <ContentControl ContentTemplate="{DynamicResource ButtonMaterialRectangle}"/>
                <Line Style="{StaticResource DashedLine}" X1="3" Y1="10" X2="10" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="3" Y1="15" X2="15" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="3" Y1="20" X2="20" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="8" Y1="24" X2="11" Y2="17" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="11" Y1="17" X2="17" Y2="15" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="17" Y1="15" X2="23" Y2="14" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="17" Y1="15" X2="16" Y2="10" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="14" Y1="29" X2="29" Y2="14" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="19" Y1="29" X2="29" Y2="19" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="24" Y1="29" X2="29" Y2="24" Stroke="{StaticResource MaterialFrame}"/>
                <TextBlock FontSize="10" Text="GFR" FontWeight="Bold" Margin="5,2,0,0" Foreground="Black"/>
            </Canvas.Children>
        </Canvas>
    </DataTemplate>

    <DataTemplate x:Key="Materials">
        <Canvas Style="{DynamicResource ButtonMaterialCanvas}">
            <Canvas.Children>
                <ContentControl ContentTemplate="{DynamicResource ButtonMaterialRectangle}"/>
                <Ellipse Height="12" Width="12" Canvas.Left="7" Canvas.Top="10" Stroke="{StaticResource MaterialFrame}" >
                    <Ellipse.Fill>
                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                            <GradientStop Color="{StaticResource MaterialFrameColor}"/>
                            <GradientStop Color="White"  Offset="1"/>
                        </LinearGradientBrush>
                    </Ellipse.Fill>
                </Ellipse>
                <Line X1="18" Y1="19.5" X2="25" Y2="25" Stroke="{StaticResource MaterialFrame}" StrokeThickness="1"/>
                <TextBlock FontSize="10" Text="Prop" FontWeight="Bold" Margin="5,2,0,0" Foreground="Black"/>
            </Canvas.Children>
        </Canvas>
    </DataTemplate>

    <DataTemplate x:Key="ReinforcementMaterial">
        <Canvas Style="{DynamicResource ButtonMaterialCanvas}">
            <Canvas.Children>
                <ContentControl ContentTemplate="{DynamicResource ButtonMaterialRectangle}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="3" Y1="10" X2="10" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="3" Y1="15" X2="15" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="3" Y1="20" X2="20" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="3" Y1="25" X2="25" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="4" Y1="29" X2="29" Y2="4" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="9" Y1="29" X2="29" Y2="9" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="14" Y1="29" X2="29" Y2="14" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="19" Y1="29" X2="29" Y2="19" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedConcreteLine}" X1="24" Y1="29" X2="29" Y2="24" Stroke="{StaticResource MaterialFrame}"/>
                <Ellipse Height="6" Width="6" Canvas.Top="20" Canvas.Left="6" Fill="{StaticResource MaterialFrame}"/>
                <Ellipse Height="6" Width="6" Canvas.Top="20" Canvas.Left="13.5" Fill="{StaticResource MaterialFrame}"/>
                <Ellipse Height="6" Width="6" Canvas.Top="20" Canvas.Left="21" Fill="{StaticResource MaterialFrame}"/>
                <TextBlock FontSize="10" Text="Rf" FontWeight="Bold" Margin="5,2,0,0" Foreground="Black"/>
            </Canvas.Children>
        </Canvas>
    </DataTemplate>

    <DataTemplate x:Key="SteelMaterial">
        <Canvas Style="{DynamicResource ButtonMaterialCanvas}">
            <Canvas.Children>
                <ContentControl ContentTemplate="{DynamicResource ButtonMaterialRectangle}"/>
                <Line Style="{StaticResource DashedLine}" X1="3" Y1="10" X2="10" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="3" Y1="15" X2="15" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="3" Y1="20" X2="20" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="3" Y1="25" X2="25" Y2="3" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="4" Y1="29" X2="29" Y2="4" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="9" Y1="29" X2="29" Y2="9" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="14" Y1="29" X2="29" Y2="14" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="19" Y1="29" X2="29" Y2="19" Stroke="{StaticResource MaterialFrame}"/>
                <Line Style="{StaticResource DashedLine}" X1="24" Y1="29" X2="29" Y2="24" Stroke="{StaticResource MaterialFrame}"/>
                <TextBlock FontSize="10" Text="Steel" FontWeight="Bold" Margin="5,2,0,0" Foreground="Black"/>
            </Canvas.Children>
        </Canvas>
    </DataTemplate>

</ResourceDictionary>