最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
wpf自定义checkbox开关控件样式例子
时间:2022-06-25 08:43:16 编辑:袖梨 来源:一聚教程网
xaml代码:
| 代码如下 | 复制代码 |
|
xmlns:x="http://schemas.*mic*ro*soft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxm*lf*ormat*s.org/markup-compatibility/2006" xmlns:d="http://schemas.mi**cros*oft.com/expression/blend/2008" mc:Ignorable="d" d:DesignHeight="24" d:DesignWidth="60"> Width="60" Height="24"> Padding="0" CornerRadius="8" Background="#2ecc71"> Visibility="Collapsed"/> BorderThickness="1" HorizontalAlignment="Left" CornerRadius="15" Width="24" Height="24"> StrokeThickness="0" Width="22" RadiusX="15" RadiusY="15"/> |
|
Cs代码:主要是重构一https://www.111cn.net些事件和返回参数:
| 代码如下 | 复制代码 |
| using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace Kaitone.DetectiveHelper.UI.Controls { /// /// ToggleSwitchButton.xaml 的交互逻辑 /// public partial class ToggleSwitchButton : UserControl { public static readonly DependencyProperty IsCheckedProperty = DependencyProperty.Register("IsChecked", typeof(bool), typeof(ToggleSwitchButton), new PropertyMetadata(default(bool), OnIsCheckedChanged)); public event RoutedEventHandler Checked; public event RoutedEventHandler UnChecked; public bool IsChecked { get { return (bool)GetValue(IsCheckedProperty); } set { SetValue(IsCheckedProperty, value); } } public ToggleSwitchButton() { InitializeComponent(); } private static void OnIsCheckedChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args) { (obj as ToggleSwitchButton).OnIsCheckedChanged(args); } private void OnIsCheckedChanged(DependencyPropertyChangedEventArgs args) { fillRectangle.Visibility = IsChecked ? Visibility.Visible : Visibility.Collapsed; slideBorder.HorizontalAlignment = IsChecked ? HorizontalAlignment.Right : HorizontalAlignment.Left; if (IsChecked && Checked != null) { Checked(this, new RoutedEventArgs()); } if (!IsChecked && UnChecked != null) { UnChecked(this, new RoutedEventArgs()); } } protected override void OnMouseLeftButtonUp(MouseButtonEventArgs args) { args.Handled = true; IsChecked ^= true; base.OnMouseLeftButtonUp(args); } } } |
|
相关文章
- twitter网页版一键登录-twitter官网网页版 03-22
- Mail.ru官网如何快速登录-Mail.ru官网登录入口在哪 03-22
- 免费的无限资源游戏前十名 流行的无限资源游戏大全2026 03-22
- 《幻想之刃》深渊追猎收藏品养成攻略-详细玩法解析 03-22
- 御兽岛新手初始御兽选择推荐-新手必看初始御兽解析 03-22
- 夸克网盘网页版直达-夸克浏览器云存储一键登录 03-22