1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <UserControl x:Class="CyberX8_Themes.UserControls.ReservoirPump"
- 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" Name="reservoirpump"
- 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=reservoirpump, 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=reservoirpump, Path=IsOpenPump}" Value="True">
- <Setter Property="Fill" Value="LimeGreen"/>
- </DataTrigger>
- <DataTrigger Binding="{Binding ElementName=reservoirpump, 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=reservoirpump, Path=IsOpenPump}" Value="True">
- <Setter Property="Fill" Value="LimeGreen"/>
- </DataTrigger>
- <DataTrigger Binding="{Binding ElementName=reservoirpump, 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=reservoirpump,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>
|