CustomSwitch.xaml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <UserControl x:Class="Venus_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:Venus_Themes.UserControls"
  7. mc:Ignorable="d"
  8. d:DesignHeight="20" d:DesignWidth="150" x:Name="switch">
  9. <StackPanel Orientation="Horizontal">
  10. <Ellipse Width="20" Height="20" Fill="Silver" x:Name="ellipse">
  11. <Ellipse.Style>
  12. <Style TargetType="Ellipse">
  13. <Style.Triggers>
  14. <DataTrigger Binding="{Binding ElementName=toggleButton,Path=IsChecked}" Value="True">
  15. <Setter Property="Fill" Value="Green"/>
  16. </DataTrigger>
  17. <DataTrigger Binding="{Binding ElementName=toggleButton,Path=IsChecked}" Value="False">
  18. <Setter Property="Fill" Value="Silver"/>
  19. </DataTrigger>
  20. </Style.Triggers>
  21. </Style>
  22. </Ellipse.Style>
  23. </Ellipse>
  24. <ToggleButton Margin="10,0,0,0" x:Name="toggleButton" Height="20" Click="toggleButton_Click" FontWeight="Bold">
  25. <ToggleButton.Template >
  26. <ControlTemplate TargetType="{x:Type ToggleButton}" >
  27. <Border BorderBrush="{TemplateBinding Control.BorderBrush}" BorderThickness="1,0,1,1" CornerRadius="5">
  28. <Border.Background>
  29. <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
  30. <GradientStop Color="White" Offset="0.0" />
  31. <GradientStop Color="Gray" Offset="0.2" />
  32. <GradientStop Color="White" Offset="1" />
  33. </LinearGradientBrush>
  34. </Border.Background>
  35. <Border.Cursor>Hand</Border.Cursor>
  36. <ContentPresenter Content="{Binding ElementName=switch,Path=Value}" HorizontalAlignment="Center" VerticalAlignment="Center" ></ContentPresenter>
  37. </Border>
  38. </ControlTemplate>
  39. </ToggleButton.Template>
  40. </ToggleButton>
  41. </StackPanel>
  42. </UserControl>