- 博客(20)
- 收藏
- 关注
原创 用WPF从0构建一个iOS风格自定义TreeView控件|含全过程视频讲解
在WPF中,TreeView/TreeViewItem与其他普通控件一样,默认提供了模板。然而,TreeView的表现方式多种多样,且其自由的层次结构布局没有限制,这使得默认提供的模板使用起来存在一定的局限性。因此,非常有必要详细了解和使用这个继承自ItemsControl的TreeView控件的机制和特性。
2024-08-21 13:47:13
772
原创 WPF教学视频详解|WPF NavigationBar 如此丝滑的动画竟然这么简单?!GitHub源代码 |编程原视频已上传
WPF 应用程序传统上通过菜单构成将多个界面连接并集成到一个程序中。因此,菜单或称为导航的技术是 WPF 的核心实现之一。由于这与项目的架构(设计)直接相关,如果更仔细地实现这一技术,也可以预期项目的质量会得到显著提升。此控件虽然在移动设备上以特殊设计和动画为特点,但如果在 WPF 中使用 ListBox 和动画技术,也可以实现结构优良且优雅的效果。此外,像 AvaloniaUI、Uno、OpenSilver、MAUI 等跨平台工具也可以用类似方式实现,因此希望这一项目能够在各种平台上得到研究和应用。
2024-05-22 19:32:43
778
1
原创 WPF教学视频详解|复现WPF版《英雄联盟》风格的PLAY 按键 (2) 视频内容纠正
控件名称:RiotPlayButton作者:Vicky&James(【小李趣味多】https://bit.ly/49L6dXu)
2024-05-21 23:46:56
776
1
原创 如何用WPF复现一个《英雄联盟》风格的PLAY 按键|教学视频内容讲解 (1)
本文详细介绍并分析了使用纯 WPF 技术开发受《英雄联盟》游戏启发的 PLAY 按钮的过程。本文强调了利用 WPF 功能创建各种用户界面组件的过程,并为开源开发提供了新的视角。同时,探索了动画和触发器等高级 WPF 功能,以提升用户交互体验。
2024-05-20 23:19:47
1006
3
原创 认识和解析 WPF 基本控件 DatePicker 的问题,并通过 CustomControl 实现新的控件:SmartDate
分析和理解 DatePicker 的结构及模板中各内部元素的交互,是提升 WPF 设计和分析能力的有益案例。这不仅适用于 DatePicker,还适用于所有 WPF 控件。然而,DatePicker 的设计是在很多年前,与现在更加推荐的编程方式有所不同,因此在这样的环境下,根据项目的具体需求,通过CustomControl重新构建一个DatePicker控件可能是更加有效的方式。
2024-05-16 21:31:31
976
原创 WPF教学|自定义日期选择控件SmartDate编程全过程 |全干货高级技巧 |进阶Next Level!|GitHub源码公开
在处理像 DatePicker 这样要求复杂功能并需要详细定制的控件时,使用基本控件时往往感受到一定的限制。上一期的[Riot Slider](https://bit.ly/3xUkIv2)教程中的 Slider 控件功能单一,模板结构简单,因此剖析该控件的内部结构并进行自定义是一个非常有价值的过程。但相比之下,DatePicker 的内部结构类似于一个小型应用程序,分析和提取其基本模板结构就成为一项非常艰巨的任务。这无疑也为 WPF 的研究和分析提供了绝佳的训练机会。
2024-05-07 13:48:50
918
原创 WPF教学| 英雄联盟风格RiotSlider编程全过程 |深度解析Slider Control |WPF进阶高质量案例教学(内附源码)
WPF中的基本控件,例如:Button、CheckBox、ToggleButton等,在结构上是比较简单的,通过XAML即可充分实现,无需Code behind。相反,TextBox、ComboBox、Slider等控件不仅需要XAML,还需要通过C#代码进行复杂处理。如果你深入了解这些控件的基本CustomControl结构,那么在进行新的自定义时将会非常有用。特别是这次,我们通过深入了解WPF的基本Slider控件,来深入理解WPF控件的内部机制。虽然没有必要逐一研究所有控件的内部结构,但是WPF的源
2024-02-02 12:05:44
130
原创 用WPF编写《英雄联盟》客户端操作界面 - 1.Play Button
另一种方法是保持底部Margin为0px。我们可以简单的将其理解为X/Y坐标轴,我们将这个图形的长设置为118,宽设置为28:M 0,0: 这是一个"MoveTo"命令,它将绘制点移动到坐标 (0, 0) 的位置,即起始点。通过分析器(我们独立开发的开源项目,目前暂未公布)我们可以看到这个PLAY按钮继承了WPFToggleButton的属性,左侧是一个英雄联盟游戏的Logo,右侧是一个由不同设计的Border、图片和文本组成的多元素图形,此外还添加了交互式mouseover和checked触发效果。
2023-11-29 21:10:42
301
1
原创 WPF教学|WPF也能轻松搞定晴天黑夜切换按钮!GitHub精简源代码已上传|NuGet下载直接使用
你可以通过NuGet包来下载这个控件,并且可以通过GitHub仓库来执行包含原始源代码和使用方法的演示项目。今天分享的是wpf版本的晴天黑夜切换按钮使用的方法和具体编程的部分。
2023-11-04 19:17:12
178
1
原创 WPF|浅谈ControlTemplate和 DataTemplate
在上面的示例中,我们设置了ListBox的每个项目都以具有Name和Age属性的Employee对象的方式进行表示的DataTemplate。事实上,要完全理解这些概念,需要具备足够的经验和对WPF的高水平理解。因此,ControlTemplate用于自定义控件的外观和行为,而DataTemplate通常用于通过数据绑定来显示数据的控件中。因此,ControlTemplate和DataTemplate分别用于控制控件和数据的可视表示,这两种模板在构建WPF用户界面时起着关键作用。
2023-10-18 18:46:55
256
1
原创 Prism的AutoWireViewModelChanged:高效利用ViewModel创建和联动事件
讨论Prism中一个非常引人注目的功能——AutoWireViewModelChanged方法。这个方法通过ViewModelLocationProvider来提供。令人惊奇的是,根据Prism的配置,在视图(View)创建后,这个方法会自动通过依赖注入(Injection)来创建对应的ViewModel,并将结果通过一个回调方法返回
2023-09-19 10:26:41
209
原创 在WPF中使用HEX代码来表现颜色
在WPF中,背景色是由父对象的类型提供的,通常使用Background或Fill属性。大多数UI使用Background属性,但与几何图形(Geometry)有关的UI(如Ellipse、Rectangle、Path等)则使用Fill属性。例如,黑色(#000000)和白色(#FFFFFF)是在WPF中最常使用的色彩代码。此外,通过背景颜色属性了解父对象的特性,并增强这方面的能力也是很重要的。通过这篇文章,大家将了解如何在WPF中处理颜色,并提高大家对基础色彩代码和背景色使用的理解。
2023-09-11 18:05:51
1458
原创 WPF MVVM模式与DI:高度兼容的结构
使用DI可以提高代码的可读性和可重用性,也可以提高维护性和可测试性。引入这种模式后,每个类的职责和角色将更加明确,从而提高代码的可读性,并增加整个应用程序的灵活性。今天,我们将讨论如何在WPF中同时使用MVVM模式和依赖注入(Dependency Injection,DI)来构建强大而灵活的应用程序。
2023-09-10 15:12:59
272
1
原创 利用CommunityToolkit.Mvvm实现Command
在本篇文章中,我们将学习如何使用CommunityToolkit.Mvvm库来实现Command
2023-09-02 15:52:29
915
原创 WPF Converter | IValueConverter + MarkupExtension = 更简单整洁的代码
一个关于WPF Converter的小Tips,让你的代码更简洁高级!
2023-08-29 20:15:09
150
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人