wpf listbox实现选中动画

效果如下:
在这里插入图片描述
参考:https://github.com/WPFDevelopersOrg/WPFDevelopers/blob/master/src/WPFDevelopers.Samples.Shared/Controls/NavigateMenu/NavigateMenu.xaml
实现上述效果的前台代码:

<Windowx:Class="ListBox.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:local="clr-namespace:ListBox"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"Title="MainWindow"Width="800"Height="450"mc:Ignorable="d"><Grid><Grid.ColumnDefinitions><ColumnDefinition /></Grid.ColumnDefinitions><ListBox x:Name="listbox"><ListBoxItem>1</ListBoxItem><ListBoxItem>2</ListBoxItem><ListBoxItem>3</ListBoxItem><ListBoxItem>4</ListBoxItem><ListBoxItem>5</ListBoxItem></ListBox><Rectanglex:Name="rect"Width="2"Height="20"HorizontalAlignment="Left"VerticalAlignment="Top"Fill="Red"></Rectangle></Grid>
</Window>

后台代码:

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.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;namespace ListBox
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();this.listbox.SelectionChanged += Listbox_SelectionChanged;}private double? lastX = null;private double? lastY = null;private void Listbox_SelectionChanged(object sender, SelectionChangedEventArgs e){var itemTo = e.AddedItems[0] as ListBoxItem;var pointTo = itemTo.TranslatePoint(new Point(0, 0), this);var toMargin = new Thickness(pointTo.X, pointTo.Y, 0, 0);ThicknessAnimation ani = new ThicknessAnimation();ani.To = toMargin;ani.Duration = TimeSpan.FromSeconds(0.3);this.rect.BeginAnimation(Rectangle.MarginProperty, ani);ani.Completed += (ss, ee) =>{this.rect.Margin = toMargin;};}}
}

同理,依据此,可以实现TabControlTabItem选中动画

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/339553.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用户管理的小demo--查询

目录 1、先在数据库中 添加数据 2、servlet层 2.1 在servlet中 找到上一模块“LoginServlet.java”&#xff0c;在里面添加代码 2.2 在servlet层 new SelectUserServlet类 2.3 在web.xml 中&#xff0c;新增配置 3、service 层 4、 dao层 4.1 UserDao 4.2 UserDaoImpl…

ldap协议(常用于统一身份认证)与dict协议(在线词典)

文章目录 LDAPDICT LDAP LDAP&#xff08;Light Directory Access Portocol&#xff09;&#xff0c;轻量目录访问协议。 目录是一个为查询、浏览和搜索而优化的数据库&#xff0c;它成树状结构组织数据&#xff0c;类似文件目录一样。 目录数据库和关系数据库不同&#xff0c…

AI早班车6.3

1.蚂蚁技术日&#xff1a;支付宝三大「AI 管家」亮相。 2.百度赵世奇&#xff1a;百度搜索&#xff0b;文心智能体平台&#xff0c;助力智能体人人可用。 3.腾讯&#xff1a;发布大模型App腾讯元宝。 4.AFAC2024金融智能创新大赛启动&#xff0c;让高质量金融服务人人可用 …

Flutter开发效率提升1000%,Flutter Quick教程之定义Api(二)

如何定义一个Api Request。其他的地方依照常规填写就行&#xff0c;讲一讲需要注意的地方。 1,Headers 当tab是headers的时候&#xff0c;点击下面的加号按钮&#xff0c;会弹出 输入框下面有提示输入Headers的规则&#xff0c;即以分号隔开。比如 content-type:application…

超大功率光伏并网逆变器学习(三相) 一

1.超大功率用的IGBT开关频率通常很低,比如6KHz 2.线电压和相电压的关系 相电压 A AB线电压-CA线电压 相电压 B BC线电压-AB线电压 相电压 C CA线电压-BC线电压 3.坐标变换 ABC三相信号通过Clark坐标变换得到αβ两相静止信号,其中α与A相重合,β与α…

文件访问被拒绝,原来可以这样处理!

在使用电脑的过程中&#xff0c;我们有时会遇到无法访问某些文件的情况&#xff0c;通常会看到“文件访问被拒绝”的错误提示。这种情况可能是由于文件权限设置问题、文件正在被其他程序使用、系统错误或者病毒感染等原因引起的。本文将介绍三种解决文件访问被拒绝问题的方法&a…

深度学习创新点不大但有效果,可以发论文吗?

深度学习中创新点比较小&#xff0c;但有效果&#xff0c;可以发论文吗&#xff1f;当然可以发&#xff0c;但如果想让编辑和审稿人眼前一亮&#xff0c;投中更高区位的论文&#xff0c;写作永远都是重要的。 那么怎样“讲故事”才能让论文更有吸引力&#xff1f;我总结了三点…

JVM学习-字节码指令集(三)

代码下载 操作数栈管理指令 如同操作一个普通数据结构中的堆栈那样&#xff0c;JVM提供的操作数栈管理指令&#xff0c;可以用于直接操作数栈的指令 将一个或两个元素从栈顶弹出&#xff0c;并且直接废弃&#xff1a;pop,pop2复制栈顶一个或两个数值并将复制值成双份的复制值…

半导体光子电学期末笔记1: 电磁光学基本理论

Chapter 2: 电磁光学基本理论 电磁光学理论概述 真空中麦克斯韦方程组[p9] 在自由空间中&#xff0c;麦克斯韦方程组可以写成如下形式&#xff1a; { ∇ H ϵ 0 ∂ E ∂ t (1) ∇ E − μ 0 ∂ H ∂ t (2) ∇ ⋅ E 0 (3) ∇ ⋅ H 0 (4) \begin{cases} \nabla \times \…

Dubbo调用流程与启动流程

Dubbo调用流程与启动流程技术文档 一、概述 Dubbo是一个高性能、轻量级的开源服务框架&#xff0c;用于开发高性能微服务应用。它主要提供了三大核心功能&#xff1a;服务治理、远程调用和集群容错。本文档将详细介绍Dubbo的调用流程和启动流程。 二、Dubbo调用流程 2.1 服务…

SD NAND、SD卡和NOR Flash的区别

存储技术在现代电子设备中的应用越来越广泛&#xff0c;三种常见的存储解决方案是SD卡、SD NAND和NOR Flash。了解它们之间的区别&#xff0c;有助于选择合适的存储介质以满足特定的应用需求。 SD卡 1.接口和传输速度:SD卡&#xff08;Secure Digital Card&#xff09;是一种广…

迅狐短剧小程序源码:打造个性化的追剧体验

随着移动互联网的普及&#xff0c;短剧小程序源码的开发成为了影视爱好者的新宠。它不仅为用户提供了便捷的追剧体验&#xff0c;还通过推荐系统、观看历史、个性化喜好等特色功能&#xff0c;满足了用户的多样化需求。本文将深入探讨短剧小程序源码的特点、优势以及如何实现多…

fly-barrage 前端弹幕库(6):实现人像免遮挡

项目官网地址&#xff1a;https://fly-barrage.netlify.app/&#xff1b; &#x1f451;&#x1f40b;&#x1f389;如果感觉项目还不错的话&#xff0c;还请点下 star &#x1f31f;&#x1f31f;&#x1f31f;。 Gitee&#xff1a;https://gitee.com/fei_fei27/fly-barrage&a…

(文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略

参考文献&#xff1a; [1]潘虹锦,高红均,杨艳红,等.基于主从博弈的售电商多元零售套餐设计与多级市场购电策略[J].中国电机工程学报,2022,42(13):4785-4800. 1.摘要 随着电力市场改革的发展&#xff0c;如何制定吸引用户选择的多类型零售套餐成为提升售电商利润的研究重点。为…

【TB作品】MSP430F5529,单片机,打地鼠游戏

功能 针对这块开发板做了一个打地鼠游戏&#xff1a; 1 给单片机上电后&#xff0c;初始化显示界面&#xff0c;显示出分数和等级。 2 游戏是一轮一轮进行的&#xff0c;每一轮会以50%几率点亮板子上的五个小灯&#xff0c;表示地鼠露头需要打了。 3 一轮游戏开始后&#xff…

最难沟通的,是那些一脸正确的人!寻找那上等的螃蟹!——早读(逆天打工人爬取热门微信文章解读)

端午节的代表&#xff1a;粽子 引言Python 代码第一篇 最难沟通的&#xff0c;是那些一脸正确的人第二篇结尾 路漫漫其修远兮&#xff0c;吾将上下而求索 ——屈原 引言 端午节 马上就要到了 大家有吃粽子的习俗吗&#xff1f; 我们潮汕那边就有 不过基本都是肉粽 去年还是前…

【Qt知识】Qt窗口坐标系

Qt的窗口坐标体系遵循标准的计算机图形坐标系统规则 Qt窗口坐标体系特点 坐标原点&#xff1a;窗口坐标体系的原点位于窗口的左上角&#xff0c;即坐标(0, 0)位置。 轴方向&#xff1a; X轴&#xff1a;向右为正方向&#xff0c;随着X坐标值的增加&#xff0c;元素在窗口中从…

Maven项目通过maven central 发布到中央仓库 https://repo.maven.apache.org/ 手把手教学 最新教学

一、注册maven central账号 ​ https://central.sonatype.com/publishing/namespaces 我这里直接使用github账号登录 &#xff0c;可以自己注册或者直接使用google账号或者github账号登录 这里github账号登录之后 应该只出现io.github 下面的io.gitee我也验证过 所以这里出…

UTONMOS:元宇宙游戏,散发无尽魅力与可能

在数字世界的浩瀚星海中&#xff0c;utonmos元宇宙游戏宛如一颗璀璨的明珠&#xff0c;散发着无尽的魅力与可能。 utonmos可不单单只是一款游戏&#xff0c;它更是一个令人惊叹的全新虚拟宇宙&#xff0c;急切地等待着你去深入探索和豪迈征服。 在这里&#xff0c;你能随心所欲…

LeetCode-77. 组合【回溯】

LeetCode-77. 组合【回溯】 题目描述&#xff1a;解题思路一&#xff1a;回溯背诵版解题思路三&#xff1a;0 题目描述&#xff1a; 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&a…