ReservoirMetal.xaml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <UserControl x:Class="CyberX8_Themes.UserControls.ReservoirMetal"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:CyberX8_Themes.UserControls"
  7. xmlns:converters="clr-namespace:CyberX8_Themes.Converters"
  8. mc:Ignorable="d"
  9. d:DesignHeight="320" d:DesignWidth="80"
  10. x:Name="metal">
  11. <UserControl.Resources>
  12. <converters:BoolToColor x:Key="boolToColor"/>
  13. <ContextMenu x:Key="AnodeOperation" >
  14. <MenuItem Header="Fill" Click="Fill_Click" ></MenuItem>
  15. <MenuItem Header="Drain" Click="Drain_Click"></MenuItem>
  16. <MenuItem Header="Stop" Click="Stop_Click"></MenuItem>
  17. </ContextMenu>
  18. <Style x:Key="MetalColor" TargetType="Polygon">
  19. <Style.Setters>
  20. <Setter Property="Fill" Value="Gray"></Setter>
  21. </Style.Setters>
  22. <Style.Triggers>
  23. <DataTrigger Binding="{Binding ElementName=metal, Path=IsOpen}" Value="True">
  24. <Setter Property="Fill" Value="LimeGreen"/>
  25. </DataTrigger>
  26. <DataTrigger Binding="{Binding ElementName=metal, Path=IsOpen}" Value="False">
  27. <Setter Property="Fill" Value="Gray"/>
  28. </DataTrigger>
  29. </Style.Triggers>
  30. </Style>
  31. <Style x:Key="MetalColor1" TargetType="Polygon">
  32. <Style.Setters>
  33. <Setter Property="Fill" Value="DimGray"></Setter>
  34. </Style.Setters>
  35. <Style.Triggers>
  36. <DataTrigger Binding="{Binding ElementName=metal, Path=IsOpen}" Value="True">
  37. <Setter Property="Fill" Value="Green"/>
  38. </DataTrigger>
  39. <DataTrigger Binding="{Binding ElementName=metal, Path=IsOpen}" Value="False">
  40. <Setter Property="Fill" Value="DimGray"/>
  41. </DataTrigger>
  42. </Style.Triggers>
  43. </Style>
  44. </UserControl.Resources>
  45. <Viewbox Stretch="Fill">
  46. <Canvas Width="80" Height="320">
  47. <StackPanel>
  48. <Image Width="80" Height="50" Source="pack://application:,,,/CyberX8_Themes;component/Themes/Images/parts/Metal.png"></Image>
  49. </StackPanel>
  50. <Border Canvas.Left="26" Canvas.Top="48" Width="28" Height="260" BorderThickness="0.5" BorderBrush="Black">
  51. </Border>
  52. <Polygon Points="0,0 27,0 27,259.5 0,259.5" Style="{StaticResource MetalColor}" Canvas.Left="26.5" Canvas.Top="48">
  53. </Polygon>
  54. <Polygon Points="0,0 2,0 2,260 0,260" Style="{StaticResource MetalColor1}" Canvas.Left="26.5" Canvas.Top="48">
  55. </Polygon>
  56. <Polygon Points="0,0 2,0 2,260 0,260" Style="{StaticResource MetalColor1}" Canvas.Left="51.5" Canvas.Top="48">
  57. </Polygon>
  58. <Polygon Points="0,0 27,0 27,20 0,20" Style="{StaticResource MetalColor1}" Canvas.Left="27.5" Canvas.Top="288">
  59. </Polygon>
  60. <Label Canvas.Top="25" Canvas.Left="30" Width="20" Height="30" HorizontalAlignment="Center" VerticalAlignment="Center"
  61. ContextMenu="{StaticResource AnodeOperation}"
  62. Content="{Binding ElementName=metal,Path=LabelValue}">
  63. </Label>
  64. <Ellipse Canvas.Top="249" Canvas.Left="32" Width="16" Height="16" Fill="{Binding IsMetalCellHigh,ElementName=metal, Converter={StaticResource boolToColor}}" Stroke="Silver" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  65. <Ellipse Canvas.Top="270" Canvas.Left="32" Width="16" Height="16" Fill="{Binding IsMetalCellLow,ElementName=metal, Converter={StaticResource boolToColor}}" Stroke="Silver" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  66. <Label Visibility="{Binding ElementName=metal,Path=IsShowSignal,Converter={StaticResource bool2VisibilityConverter}}" Canvas.Top="269" Canvas.Left="-3" Content="Low" FontSize="12" FontWeight="Bold" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left"/>
  67. <Label Visibility="{Binding ElementName=metal,Path=IsShowSignal,Converter={StaticResource bool2VisibilityConverter}}" Canvas.Top="245" Canvas.Left="-6" Content="High" FontSize="12" FontWeight="Bold" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left"/>
  68. </Canvas>
  69. </Viewbox>
  70. </UserControl>