aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Touch/Controls/TouchToggleImageButton.xaml
blob: 772dea7c30003efb6986b93bb51b84ba7355063f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
                    xmlns:components="clr-namespace:Tango.Touch.Components"
                    xmlns:local="clr-namespace:Tango.Touch.Controls">
    
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="../Resources/Colors.xaml" />
    </ResourceDictionary.MergedDictionaries>

    <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
    <converters:BooleanToVisibilityInverseConverter x:Key="BooleanToVisibilityInverseConverter" />

    <Style TargetType="{x:Type local:TouchToggleImageButton}">
        <Setter Property="Foreground" Value="{StaticResource TangoDarkForegroundBrush}"></Setter>
        <Setter Property="CheckedForeground" Value="{StaticResource TangoPrimaryAccentBrush}"></Setter>
        <Setter Property="Background" Value="Transparent"></Setter>
        <Setter Property="Width" Value="{Binding RelativeSource={RelativeSource Self},Path=ActualHeight}"></Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:TouchToggleImageButton}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="{TemplateBinding CornerRadius}">
                        <components:Ripple CornerRadius="{TemplateBinding CornerRadius}" RippleBrush="{StaticResource TangoRippleDarkBrush}">
                            <Grid Margin="{TemplateBinding Padding}">
                                <Image Source="{Binding RelativeSource={RelativeSource AncestorType=local:TouchToggleImageButton},Path=UncheckedImage}" Visibility="{TemplateBinding IsChecked,Converter={StaticResource BooleanToVisibilityInverseConverter}}"></Image>
                                <Image Source="{Binding RelativeSource={RelativeSource AncestorType=local:TouchToggleImageButton},Path=CheckedImage}" Visibility="{TemplateBinding IsChecked,Converter={StaticResource BooleanToVisibilityConverter}}"></Image>
                            </Grid>
                        </components:Ripple>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>