Skip to content

Commit

Permalink
Merge pull request #2481 from Koopakiller/develop
Browse files Browse the repository at this point in the history
Added a MetroFlatToggleButton style like MetroFlatButton
  • Loading branch information
punker76 committed Apr 25, 2016
2 parents 7ca4666 + 2e47c84 commit afecb41
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 0 deletions.
77 changes: 77 additions & 0 deletions MahApps.Metro/Styles/Controls.Buttons.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,83 @@
</Style.Triggers>
</Style>

<!--style for flat toggle button like MetroFlatButton-->
<Style x:Key="MetroFlatToggleButton" TargetType="{x:Type ToggleButton}">
<Setter Property="Foreground" Value="{DynamicResource FlatButtonForegroundBrush}" />
<Setter Property="Background" Value="{DynamicResource FlatButtonBackgroundBrush}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="FontSize" Value="{DynamicResource FlatButtonFontSize}" />
<Setter Property="Padding" Value="10 5 10 5" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Border x:Name="Border"
Margin="0"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}">
<Controls:ContentControlEx x:Name="PART_ContentPresenter"
Padding="{TemplateBinding Padding}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
Content="{TemplateBinding Content}"
ContentCharacterCasing="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(Controls:ControlsHelper.ContentCharacterCasing)}"
ContentStringFormat="{TemplateBinding ContentStringFormat}"
ContentTemplate="{TemplateBinding ContentTemplate}"
ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}"
RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="{DynamicResource AccentColorBrush}" />
<Setter Property="Foreground" Value="{DynamicResource FlatButtonPressedForegroundBrush}" />
</Trigger>

<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True" />
<Condition Property="IsChecked" Value="False" />
</MultiTrigger.Conditions>
<Setter Property="Background" Value="DarkGray" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True" />
<Condition Property="IsChecked" Value="True" />
</MultiTrigger.Conditions>
<Setter Property="Foreground" Value="{DynamicResource FlatButtonPressedForegroundBrush}" />
<Setter Property="Background" Value="{DynamicResource AccentColorBrush2}" />
</MultiTrigger>

<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsPressed" Value="True" />
<Condition Property="IsChecked" Value="False" />
</MultiTrigger.Conditions>
<Setter Property="Foreground" Value="{DynamicResource FlatButtonPressedForegroundBrush}" />
<Setter Property="Background" Value="{DynamicResource FlatButtonPressedBackgroundBrush}" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsPressed" Value="True" />
<Condition Property="IsChecked" Value="True" />
</MultiTrigger.Conditions>
<Setter Property="Foreground" Value="{DynamicResource FlatButtonPressedForegroundBrush}" />
<Setter Property="Background" Value="{DynamicResource AccentColorBrush3}" />
</MultiTrigger>

<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{DynamicResource GrayBrush2}" />
</Trigger>
</Style.Triggers>
</Style>


<Style x:Key="MetroCircleButtonFocusVisual">
<Setter Property="Control.Template">
<Setter.Value>
Expand Down
9 changes: 9 additions & 0 deletions samples/MetroDemo/ExampleViews/ButtonsExample.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,15 @@
Margin="{StaticResource ControlMargin}"
Content="Disabled"
IsEnabled="False" />
<ToggleButton Width="100"
Margin="{StaticResource ControlMargin}"
Style="{DynamicResource MetroFlatToggleButton}"
Content="Enabled" />
<ToggleButton Width="100"
Margin="{StaticResource ControlMargin}"
Style="{DynamicResource MetroFlatToggleButton}"
Content="Disabled"
IsEnabled="False" />
<StackPanel Margin="{StaticResource ControlMargin}"
HorizontalAlignment="Center"
Orientation="Horizontal">
Expand Down

0 comments on commit afecb41

Please # to comment.