<!-- ActivityPresenter style --> <Style TargetType="local:ActivityPresenter">
<Setter Property="ResourcesLabelFontWeight" Value="Bold"/> <Setter Property="ResourcesLabelForeground" Value="{StaticResource ActivityResourceTextBrush}" /> <Setter Property="FocusVisualStyle" Value="{x:Null}" /> <Setter Property="SnapsToDevicePixels" Value="False" /> <Setter Property="Height" Value="16"/> <Setter Property="ProgressBackground" Value="{StaticResource ProgressBackgroundBrush}"/>
<Setter Property="Template"> <Setter.Value>
<ControlTemplate TargetType="local:ActivityPresenter"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="5" /> <ColumnDefinition /> <ColumnDefinition Width="5" /> </Grid.ColumnDefinitions>
<!-- Start resize handle --> <Thumb Width="5" Grid.Column="0" HorizontalAlignment="Left" Name="StartResizer" Style="{StaticResource InvisibleThumb}" Cursor="{TemplateBinding LeftResizeCursor}" />
<!-- End resize handle --> <Thumb Width="5" Grid.Column="2" HorizontalAlignment="Right" Name="EndResizer" Style="{StaticResource InvisibleThumb}" Cursor="{TemplateBinding RightResizeCursor}" />
<!-- Start dependency anchor --> <Thumb x:Name="LeftAnchor" Grid.Column="0" Grid.ColumnSpan="3" Width="5" Height="8" Style="{StaticResource LeftAnchor}" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1,1,0,1" Visibility="Visible" Opacity="0" IsHitTestVisible="False" HorizontalAlignment="Left" VerticalAlignment="Center" Cursor="{TemplateBinding DependencyAnchorCursor}" />
<!-- Finish dependency anchor--> <Thumb x:Name="RightAnchor" Grid.Column="0" Grid.ColumnSpan="3" Width="5" Height="8" Style="{StaticResource RightAnchor}" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0,1,1,1" Visibility="Visible" Opacity="0" IsHitTestVisible="False" HorizontalAlignment="Right" VerticalAlignment="Center" Cursor="{TemplateBinding DependencyAnchorCursor}" />
<!-- Non-milestone presentation root (border) --> <Border Name="Root" Grid.Column="1" CornerRadius="{Binding CornerRadius, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource cornerRadiusConverter}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Background="{TemplateBinding Background}"> <Rectangle Name="Focus" RadiusX="0" RadiusY="0" Stroke="{TemplateBinding FocusBrush}" StrokeThickness="1" Opacity="0" /> </Border>
<!-- Milestone presentation root (path) --> <Path Name="MilestoneRoot" Grid.Column="1" Data="M0,0.5 L0.5,1 L1,0.5 L0.5,0 z" Stretch="Uniform" Stroke="{TemplateBinding BorderBrush}" StrokeThickness="1" Visibility="Collapsed" Fill="{TemplateBinding Background}"> </Path> <Path Name="MilestoneFocus" Grid.Column="1" Data="M0,0.5 L0.5,1 L1,0.5 L0.5,0 z" Stretch="Uniform" Stroke="{TemplateBinding FocusBrush}" StrokeThickness="1" Visibility="Collapsed" Opacity="0" Margin="2" />
<!-- AutoActivity presentation root (grid) --> <Grid Name="AutoActivityRoot" Grid.Column="1" Visibility="Collapsed" Margin="-7,0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="5" /> <ColumnDefinition /> <ColumnDefinition Width="5" /> </Grid.ColumnDefinitions>
<Border Name="AutoActivityBorder" Grid.Column="1" CornerRadius="{Binding CornerRadius, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource cornerRadiusConverter}}" BorderBrush="{TemplateBinding AccentBrush}" BorderThickness="1" Background="{TemplateBinding Background}" Margin="8,2,8,8"> </Border> <Path Name="AutoActivityLeftPart" Margin="0,0,-9,0" Grid.Column="0" Data="M0,0 L1,0 L1,0.5 L0.5,1 L0,0.5 Z" Stretch="Uniform" Stroke="{TemplateBinding AccentBrush}" StrokeThickness="1" Fill="{TemplateBinding Background}"> </Path> <Path Name="AutoActivityRightPart" Margin="-9,0,0,0" Grid.Column="2" Data="M0,0 L1,0 L1,0.5 L0.5,1 L0,0.5 Z" Stretch="Uniform" Stroke="{TemplateBinding AccentBrush}" StrokeThickness="1" Fill="{TemplateBinding Background}"> </Path> </Grid>
<!-- Move handle --> <Thumb Name="Mover" Grid.Column="1" Style="{StaticResource InvisibleThumb}" />
<!-- Progress presentation --> <Border Name="ProgressContainer" Grid.Column="1" Margin="1" Height="5" VerticalAlignment="Center" HorizontalAlignment="Stretch"> <Border Name="Progress" Width="{TemplateBinding ProgressLength}" HorizontalAlignment="Left"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width="5" /> </Grid.ColumnDefinitions> <Border Grid.ColumnSpan="2" Background="{TemplateBinding ProgressBackground}" IsHitTestVisible="False" /> <Thumb Grid.Column="1" Name="ProgressResizer" Style="{StaticResource InvisibleThumb}" Cursor="{TemplateBinding ProgressResizeCursor}" /> </Grid> </Border> </Border>
<Border x:Name="LeftSide" Grid.Column="0" Margin="5,0,-5,0" IsHitTestVisible="False" BorderThickness="2,2,0,2" BorderBrush="{TemplateBinding AccentBrush}" CornerRadius="{Binding CornerRadius, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource cornerRadiusConverter}, ConverterParameter=Left}" /> <Border x:Name="RightSide" Grid.Column="2" Margin="-5,0,5,0" IsHitTestVisible="False" BorderThickness="0,2,2,2" BorderBrush="{TemplateBinding AccentBrush}" CornerRadius="{Binding CornerRadius, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource cornerRadiusConverter}, ConverterParameter=Right}" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True"> <Setter TargetName="Root" Property="Background" Value="{Binding Path=MouseOverBackground, RelativeSource={RelativeSource TemplatedParent}}" /> <Setter TargetName="Root" Property="BorderBrush" Value="{Binding Path=MouseOverBorderBrush, RelativeSource={RelativeSource TemplatedParent}}" /> <Setter TargetName="MilestoneRoot" Property="Fill" Value="{Binding Path=MouseOverBackground, RelativeSource={RelativeSource TemplatedParent}}" /> <Setter TargetName="MilestoneRoot" Property="Stroke" Value="{Binding Path=MouseOverBorderBrush, RelativeSource={RelativeSource TemplatedParent}}" /> <Setter TargetName="LeftAnchor" Property="IsHitTestVisible" Value="True" /> <Setter TargetName="RightAnchor" Property="IsHitTestVisible" Value="True" /> <Setter TargetName="AutoActivityBorder" Property="BorderBrush" Value="{Binding Path=MouseOverBorderBrush, RelativeSource={RelativeSource TemplatedParent}}" /> <Setter TargetName="AutoActivityBorder" Property="Background" Value="{Binding Path=MouseOverBackground, RelativeSource={RelativeSource TemplatedParent}}" /> <Setter TargetName="AutoActivityLeftPart" Property="Stroke" Value="{Binding Path=MouseOverBorderBrush, RelativeSource={RelativeSource TemplatedParent}}" /> <Setter TargetName="AutoActivityLeftPart" Property="Fill" Value="{Binding Path=MouseOverBackground, RelativeSource={RelativeSource TemplatedParent}}" /> <Setter TargetName="AutoActivityRightPart" Property="Stroke" Value="{Binding Path=MouseOverBorderBrush, RelativeSource={RelativeSource TemplatedParent}}" /> <Setter TargetName="AutoActivityRightPart" Property="Fill" Value="{Binding Path=MouseOverBackground, RelativeSource={RelativeSource TemplatedParent}}" /> </Trigger>
<Trigger Property="IsKeyboardFocusWithin" Value="True"> <Setter TargetName="Focus" Property="Opacity" Value="1" /> <Setter TargetName="MilestoneFocus" Property="Opacity" Value="1" /> </Trigger>
<Trigger Property="EnableDependencies" Value="False"> <Setter TargetName="LeftAnchor" Property="Visibility" Value="Collapsed"/> <Setter TargetName="RightAnchor" Property="Visibility" Value="Collapsed"/> </Trigger>
<EventTrigger RoutedEvent="UIElement.MouseEnter"> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetName="LeftAnchor" Storyboard.TargetProperty="(UIElement.Opacity)" Duration="0:0:0.2" To="1" /> <DoubleAnimation Storyboard.TargetName="RightAnchor" Storyboard.TargetProperty="(UIElement.Opacity)" Duration="0:0:0.2" To="1" /> </Storyboard> </BeginStoryboard> </EventTrigger>
<EventTrigger RoutedEvent="UIElement.MouseLeave"> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetName="LeftAnchor" Storyboard.TargetProperty="(UIElement.Opacity)" Duration="0:0:0.2" To="0" /> <DoubleAnimation Storyboard.TargetName="RightAnchor" Storyboard.TargetProperty="(UIElement.Opacity)" Duration="0:0:0.2" To="0" /> </Storyboard> </BeginStoryboard> </EventTrigger>
<Trigger Property="IsMouseOver" SourceName="LeftAnchor" Value="True"> <Setter TargetName="LeftAnchor" Property="Background" Value="Red" /> </Trigger>
<Trigger Property="IsMouseOver" SourceName="RightAnchor" Value="True"> <Setter TargetName="RightAnchor" Property="Background" Value="Red" /> </Trigger>
<Trigger Property="IsMilestone" Value="True"> <Setter TargetName="Root" Property="Visibility" Value="Collapsed" /> <Setter TargetName="ProgressContainer" Property="Visibility" Value="Collapsed" /> <Setter TargetName="MilestoneRoot" Property="Visibility" Value="Visible" /> <Setter TargetName="MilestoneFocus" Property="Visibility" Value="Visible" /> <Setter TargetName="LeftAnchor" Property="Width" Value="10" /> <Setter TargetName="RightAnchor" Property="Width" Value="10" /> <Setter TargetName="LeftSide" Property="Visibility" Value="Collapsed" /> <Setter TargetName="RightSide" Property="Visibility" Value="Collapsed" /> <Setter TargetName="AutoActivityRightPart" Property="Margin" Value="-11,1,1,1" /> </Trigger>
<Trigger Property="ScheduleMode" Value="Auto"> <Setter TargetName="Root" Property="Visibility" Value="Collapsed" /> <Setter TargetName="StartResizer" Property="Visibility" Value="Collapsed" /> <Setter TargetName="EndResizer" Property="Visibility" Value="Collapsed" /> <Setter TargetName="LeftAnchor" Property="Visibility" Value="Collapsed" /> <Setter TargetName="RightAnchor" Property="Visibility" Value="Collapsed" /> <Setter TargetName="Mover" Property="Visibility" Value="Collapsed" /> <Setter TargetName="ProgressContainer" Property="Visibility" Value="Visible" /> <Setter TargetName="ProgressContainer" Property="Margin" Value="7,4,7,0" /> <Setter TargetName="ProgressContainer" Property="Height" Value="2" /> <Setter TargetName="ProgressContainer" Property="VerticalAlignment" Value="Top" /> <Setter TargetName="ProgressContainer" Property="IsHitTestVisible" Value="False" /> <Setter TargetName="MilestoneRoot" Property="Visibility" Value="Collapsed" /> <Setter TargetName="MilestoneFocus" Property="Visibility" Value="Collapsed" /> <Setter TargetName="LeftSide" Property="Visibility" Value="Collapsed" /> <Setter TargetName="RightSide" Property="Visibility" Value="Collapsed" /> <Setter TargetName="AutoActivityRoot" Property="Visibility" Value="Visible" /> <Setter Property="IsTabStop" Value="False" /> </Trigger>
<MultiTrigger> <MultiTrigger.Conditions> <Condition Property="ScheduleMode" Value="SemiAuto" /> <Condition Property="IsMilestone" Value="False"/> </MultiTrigger.Conditions> <Setter TargetName="Root" Property="Margin" Value="0,3" /> <Setter TargetName="Root" Property="CornerRadius" Value="3" /> <Setter TargetName="ProgressContainer" Property="Visibility" Value="Visible" /> <Setter TargetName="ProgressContainer" Property="Height" Value="2" /> <Setter TargetName="LeftSide" Property="Visibility" Value="Collapsed" /> <Setter TargetName="RightSide" Property="Visibility" Value="Collapsed" /> <Setter TargetName="LeftAnchor" Property="Visibility" Value="Collapsed" /> <Setter TargetName="RightAnchor" Property="Visibility" Value="Collapsed" /> </MultiTrigger>
<MultiTrigger> <MultiTrigger.Conditions> <Condition Property="ScheduleMode" Value="SemiAuto" /> <Condition Property="IsMilestone" Value="True"/> </MultiTrigger.Conditions> <Setter TargetName="LeftSide" Property="Visibility" Value="Collapsed" /> <Setter TargetName="RightSide" Property="Visibility" Value="Collapsed" /> <Setter TargetName="LeftAnchor" Property="Visibility" Value="Collapsed" /> <Setter TargetName="RightAnchor" Property="Visibility" Value="Collapsed" /> </MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value> </Setter>
</Style> |