| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | <UserControl x:Class="CyberX8_Themes.UserControls.Pump1"             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"              xmlns:local="clr-namespace:CyberX8_Themes.UserControls"             mc:Ignorable="d"              x:Name="pump1"             d:DesignHeight="70" d:DesignWidth="70">    <UserControl.Resources>        <ContextMenu x:Key="ValveOpen">            <MenuItem Name="Open" Header="打开" Click="OpenClick"></MenuItem>            <MenuItem Name="Close" Header="关闭" Click="CloseClick"></MenuItem>        </ContextMenu>        <Style x:Key="StackPanelStyle" TargetType="StackPanel">            <Style.Setters>                <Setter Property="RenderTransform">                    <Setter.Value>                        <TransformGroup>                            <RotateTransform/>                        </TransformGroup>                    </Setter.Value>                </Setter>            </Style.Setters>            <Style.Triggers>                <DataTrigger Binding="{Binding ElementName=pump1, Path=IsOpenPump}" Value="True">                    <DataTrigger.EnterActions>                        <BeginStoryboard x:Name="StackPanelStoryBoard">                            <Storyboard RepeatBehavior="Forever">                                <DoubleAnimation Storyboard.TargetProperty=                                                 "RenderTransform.Children[0].Angle"                                 Duration="0:0:1" BeginTime="0:0:0"                                  From="0" To="360" />                            </Storyboard>                        </BeginStoryboard>                    </DataTrigger.EnterActions>                    <DataTrigger.ExitActions>                        <StopStoryboard BeginStoryboardName="StackPanelStoryBoard" />                    </DataTrigger.ExitActions>                </DataTrigger>            </Style.Triggers>        </Style>        <Style x:Key="PipeColor" TargetType="Polygon">            <Style.Setters>                <Setter Property="Fill" Value="Gray"></Setter>            </Style.Setters>            <Style.Triggers>                <DataTrigger Binding="{Binding ElementName=pump1, Path=IsOpenPump}" Value="True">                    <Setter Property="Fill" Value="LimeGreen"/>                </DataTrigger>                <DataTrigger Binding="{Binding ElementName=pump1, Path=IsOpenPump}" Value="False">                    <Setter Property="Fill" Value="Gray"/>                </DataTrigger>            </Style.Triggers>        </Style>        <Style x:Key="PumpColor" TargetType="Ellipse">            <Style.Setters>                <Setter Property="Fill" Value="Gray"></Setter>            </Style.Setters>            <Style.Triggers>                <DataTrigger Binding="{Binding ElementName=pump1, Path=IsOpenPump}" Value="True">                    <Setter Property="Fill" Value="LimeGreen"/>                </DataTrigger>                <DataTrigger Binding="{Binding ElementName=pump1, Path=IsOpenPump}" Value="False">                    <Setter Property="Fill" Value="Gray"/>                </DataTrigger>            </Style.Triggers>        </Style>    </UserControl.Resources>    <Viewbox Stretch="Fill">        <Canvas Width="70" Height="70" ContextMenu="{StaticResource ValveOpen}" RenderTransformOrigin="0.49 0.49">            <Canvas.RenderTransform>                <TransformGroup>                    <RotateTransform Angle="{Binding ElementName=pump1,Path=RotateTransformValue}"></RotateTransform>                </TransformGroup>            </Canvas.RenderTransform>            <Polygon Style="{StaticResource PipeColor}" Points="0,0 69,0 69,10 0,10" Height="10"        Canvas.Top="55" Canvas.Left="1">            </Polygon>            <Ellipse Style="{StaticResource PumpColor}" Width="60" Height="60"  Canvas.Left="5" Canvas.Top="3" HorizontalAlignment="Left" VerticalAlignment="Center" />            <StackPanel>                <Image Width="70" Height="70" Source="pack://application:,,,/CyberX8_Themes;component/Themes/Images/parts/Pump1.png"></Image>            </StackPanel>            <StackPanel Style="{StaticResource StackPanelStyle}" RenderTransformOrigin="0.49,0.49" >                <Image Width="70" Height="70" Source="pack://application:,,,/CyberX8_Themes;component/Themes/Images/parts/Pump2.png"></Image>            </StackPanel>        </Canvas>    </Viewbox></UserControl>
 |