CustomSwitch.xaml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <UserControl x:Class="CyberX8_Themes.UserControls.CustomSwitch"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:CyberX8_Themes.UserControls"
  7. xmlns:converters="clr-namespace:CyberX8_Themes.Converters"
  8. mc:Ignorable="d"
  9. d:DesignHeight="20" d:DesignWidth="150" x:Name="switch">
  10. <UserControl.Resources>
  11. <converters:BoolToColor x:Key="boolToColor"/>
  12. </UserControl.Resources>
  13. <StackPanel Orientation="Horizontal">
  14. <Ellipse Width="20" Height="20" x:Name="ellipse" Fill="{Binding ElementName=switch,Path=IsOpen,Converter={StaticResource boolToColor}}">
  15. <!--<Ellipse.Style>
  16. <Style TargetType="Ellipse">
  17. <Style.Triggers>
  18. <DataTrigger Binding="{Binding ElementName=switch,Path=IsOpen}" Value="True">
  19. <Setter Property="Fill" Value="Green"/>
  20. </DataTrigger>
  21. <DataTrigger Binding="{Binding ElementName=switch,Path=IsOpen}" Value="False">
  22. <Setter Property="Fill" Value="Silver"/>
  23. </DataTrigger>
  24. </Style.Triggers>
  25. </Style>
  26. </Ellipse.Style>-->
  27. </Ellipse>
  28. <ToggleButton Margin="10,0,0,0" x:Name="toggleButton" Height="20" Click="toggleButton_Click" FontWeight="Bold" IsChecked="{Binding ElementName=switch,Path=IsOpen,Mode=TwoWay}">
  29. <ToggleButton.Template >
  30. <ControlTemplate TargetType="{x:Type ToggleButton}" >
  31. <Border BorderBrush="{TemplateBinding Control.BorderBrush}" BorderThickness="1,0,1,1" CornerRadius="5">
  32. <Border.Background>
  33. <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
  34. <GradientStop Color="White" Offset="0.0" />
  35. <GradientStop Color="Gray" Offset="0.2" />
  36. <GradientStop Color="White" Offset="1" />
  37. </LinearGradientBrush>
  38. </Border.Background>
  39. <Border.Cursor>Hand</Border.Cursor>
  40. <ContentPresenter Content="{Binding ElementName=switch,Path=Value}" HorizontalAlignment="Center" VerticalAlignment="Center" ></ContentPresenter>
  41. </Border>
  42. </ControlTemplate>
  43. </ToggleButton.Template>
  44. </ToggleButton>
  45. </StackPanel>
  46. </UserControl>