1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:hc="clr-namespace:HandyControl.Controls">
- <Style x:Key="ProgressBarFlat4ProgressButton" TargetType="ProgressBar">
- <Setter Property="Background" Value="Transparent"/>
- <Setter Property="hc:BorderElement.CornerRadius" Value="{StaticResource DefaultCornerRadius}"/>
- <Setter Property="Foreground" Value="{DynamicResource DarkMaskBrush}"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="ProgressBar">
- <Border x:Name="PART_Track">
- <Decorator x:Name="PART_Indicator" HorizontalAlignment="Left">
- <Border CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" x:Name="Indicator" Background="{TemplateBinding Foreground}"/>
- </Decorator>
- </Border>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <Style x:Key="ProgressButtonBaseStyle" BasedOn="{StaticResource ToggleButtonBaseStyle}" TargetType="hc:ProgressButton">
- <Setter Property="Background" Value="{DynamicResource RegionBrush}"/>
- <Setter Property="ProgressStyle" Value="{StaticResource ProgressBarFlat4ProgressButton}"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="hc:ProgressButton">
- <Border x:Name="Chrome" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}">
- <hc:SimplePanel>
- <ProgressBar x:Name="ProgressBar" Height="Auto" Value="{TemplateBinding Progress}" Maximum="100" Visibility="Collapsed" Style="{TemplateBinding ProgressStyle}"/>
- <ContentPresenter Name="UnCheckedElement" Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
- <ContentPresenter Name="CheckedElement" Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Visibility="Collapsed" Content="{Binding Path=(hc:StatusSwitchElement.CheckedElement),RelativeSource={RelativeSource TemplatedParent}}"/>
- </hc:SimplePanel>
- </Border>
- <ControlTemplate.Triggers>
- <Trigger Property="IsMouseOver" Value="True">
- <Setter Property="Opacity" Value=".9"/>
- </Trigger>
- <Trigger Property="IsPressed" Value="True">
- <Setter Property="Opacity" Value=".6"/>
- </Trigger>
- <Trigger Property="IsChecked" Value="True">
- <Setter Property="Visibility" Value="Visible" TargetName="ProgressBar"/>
- <Setter Property="Visibility" Value="Visible" TargetName="CheckedElement"/>
- </Trigger>
- <MultiTrigger>
- <MultiTrigger.Conditions>
- <Condition Property="hc:StatusSwitchElement.HideUncheckedElement" Value="True"/>
- <Condition Property="IsChecked" Value="True"/>
- </MultiTrigger.Conditions>
- <Setter Property="Visibility" Value="Collapsed" TargetName="UnCheckedElement"/>
- </MultiTrigger>
- <Trigger Property="IsEnabled" Value="False">
- <Setter Property="Opacity" Value="0.4"/>
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </ResourceDictionary>
|