123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <UserControl x:Class="CyberX8_Themes.UserControls.FlowPipe"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:converters="clr-namespace:CyberX8_Themes.Converters"
- Name="flowPipeControl" Width="100" Height="8" FlowDirection="{Binding ElementName=flowPipeControl,Path=IsReverse,Converter={StaticResource boolToDirection}}">
-
- <UserControl.Resources>
- <converters:BoolToReverse x:Key="boolToReverse"/>
- <converters:BoolToDoubleConverter x:Key="boolToDoubleConverter"/>
- </UserControl.Resources>
- <UserControl.RenderTransform>
- <TransformGroup>
- <RotateTransform Angle="{Binding ElementName=flowPipeControl,Path=RotateTransformValue}"/>
- </TransformGroup>
- </UserControl.RenderTransform>
- <Canvas MinHeight="4" MinWidth="100" >
- <Canvas.Resources>
- <Style x:Key="AnimatingFlow" TargetType="{x:Type Line}">
- <Style.Triggers>
- <DataTrigger Binding="{Binding ElementName=flowPipeControl,Path=IsFlowing}" Value="True">
- <DataTrigger.EnterActions>
- <BeginStoryboard Name="FlowStoryboard">
- <Storyboard RepeatBehavior="Forever" Timeline.DesiredFrameRate="10">
- <DoubleAnimation Storyboard.TargetProperty="StrokeDashOffset" Duration="0:0:10" To="70"/>
- </Storyboard>
- </BeginStoryboard>
- </DataTrigger.EnterActions>
- <DataTrigger.ExitActions>
- <StopStoryboard BeginStoryboardName="FlowStoryboard" />
- </DataTrigger.ExitActions>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </Canvas.Resources>
- <Border x:Name="border1" CornerRadius="{Binding ElementName=flowPipeControl,Path=FCornerRadius}" BorderBrush="Gray" BorderThickness="0"
- Width="{Binding ElementName=flowPipeControl,Path=Width}" Height="{Binding ElementName=flowPipeControl,Path=Height}">
- <Border.Background>
- <LinearGradientBrush StartPoint="0.5 0" EndPoint="0.5 1">
- <!--<GradientStop Color="Gray" Offset="0"/>-->
- <GradientStop Color="Gray" Offset="0"/>
- <GradientStop Color="White" Offset="0.5"/>
- <GradientStop Color="Gray" Offset="1"/>
- <!--<GradientStop Color="Gray" Offset="1"/>-->
- </LinearGradientBrush>
- </Border.Background>
- </Border>
- <Line Name="path1"
- X1="0" Y1="0" X2="80" Y2="0"
- Opacity="{Binding ElementName=flowPipeControl,Path=IsFlowing,Converter={StaticResource boolToDoubleConverter}}"
- Stretch="Fill"
- Width="{Binding ElementName=flowPipeControl,Path=Width}"
- Height="{Binding ElementName=flowPipeControl,Path=Height}"
- Stroke="{Binding ElementName=flowPipeControl, Path=FlowColor}" StrokeDashArray="1,3" StrokeDashCap="Round"
- StrokeThickness="{Binding ElementName=flowPipeControl,Path=Height}"
- Style="{StaticResource AnimatingFlow}" >
- </Line>
- </Canvas>
- </UserControl>
|