首页 > 其他分享 >WPF+MVVM案例实战与特效(三十一)- 封装一个加载动画的自定义控件

WPF+MVVM案例实战与特效(三十一)- 封装一个加载动画的自定义控件

时间:2024-12-02 17:31:50浏览次数:8  
标签:控件 自定义 MVVM 动画 案例 宽度 窗体

文章目录


1、案例效果

在这里插入图片描述

2、案例实现

在开发WPF应用程序时,我们常常需要一个灵活的加载动画控件,该控件可以根据窗口的大小自动调整其内部元素(如图片、边框和文本)的尺寸,并且能够通过简单的属性设置来定制样式。这里我们实现一个名为 LoadIngWin 的自定义控件,该控件具备以下功能:

  • Image的宽度和高度自动绑定到窗体的宽度和高度。
  • RotateTransform的CenterX和CenterY自动绑定到窗体宽度和高度的一半,确保旋转动画始终以中心点为轴心。
  • Border的背景色、圆角、宽度、高度、透明度以及TextBlock的文本、前景色和字体大小可以通过实例化时设定参数,未设定则采用默认值。

1、资源与文件创建

打开 Wpf_Examples 项目,在 UserControlLib 类库下创建窗体文件 LoadIngWin.xaml 和Converters 目录下 HalfConverter.cs 文件。如下图所示:

标签:控件,自定义,MVVM,动画,案例,宽度,窗体
From: https://blog.csdn.net/qq_21419015/article/details/144181917

相关文章

  • 带有多选和突出显示关键字的自定义下拉选择框(动态)
    本文是在上一篇的基础上改造成根据输入关键词动态筛选选项列表,然后实现多项选择并且关键词高亮。上一篇:带有多选和突出显示关键字的自定义下拉选择框(静态)>>带有多选和突出显示关键字的自定义下拉选择框:CustomDropdownSelectBoxwithMultipleSelectionandHighlighting......
  • 带有多选和突出显示关键字的自定义下拉选择框(静态)
    带有多选和突出显示关键字的自定义下拉选择框:CustomDropdownSelectBoxwithMultipleSelectionandHighlightingKeywords:不使用select元素,用div、ul、li、span元素实现带有多选和突出显示关键字的自定义下拉选择框。完整控件包含三部分:第一步用div模拟select选择框,ul+l......
  • Winform窗体控件双向绑定数据模拟读写PLC数据
    1.用Modbus工具模拟PLC2.创建一个实体类点击查看代码internalclassData:INotifyPropertyChanged{ushort[]ushorts=newushort[10];publicushortD0{get=>ushorts[0];set{ushorts[0]=value;OnPropertyChanged(nameof(D0));}}publicushor......
  • element 的 Notification 通知,自定义内容
    https://blog.csdn.net/m0_70547044/article/details/134642743?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-134642743-blog-142925942.235%5Ev43%5Epc_blog_bottom_relevance_base4&......
  • 界面控件DevExpress WPF v24.2新功能预览 - 人工智能(AI)集成
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......
  • 怎样去除iOS和Android中的输入URL地址的控件条呢?
    在iOS和Android中完全去除浏览器自带的地址栏是不可能的,除非你开发的是一个独立的应用程序,而不是在浏览器中运行的网页。如果你的目标是在Web应用中提供更沉浸式的体验,隐藏地址栏可以实现,但用户仍然可以通过下拉或其他操作重新显示地址栏。以下是一些方法可以尝试在你的......
  • Android 简单控件
    创建一个新模块chapter03:创建成功:在模块chapter03中创建一个布局:布局文件的内容:<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_pare......
  • Element-Plus表格:Table自定义合并行数据的最佳实践
    “知行合一”——王阳明在开发项目中,我们时常会用到表格,许多需求可能会要求自定义特定的行或列。接下来,我们将探讨在实际开发中如何应对这一挑战。本文案例采用的技术:名称版本Vue3^3.5.12element-plus^2.8.8知识点我们先来复习下2个知识点,来自elem......
  • 通过自定义feignclient 的LoadBalancerFeignClient实现灵活的负载均衡策略
    通过自定义feignclient的LoadBalancerFeignClient或IRule能实现完全自定义的负载均衡策略,本文主要是通过实现自定义的LoadBalancerFeignClient而达到自定义的负载均衡策略示例代码实现如下:packagecn.zuowenjun.demo;importcom.netflix.loadbalancer.Server;importfeign......
  • vue基础之4:el与data的两种写法、理解MVVM、Object.defineProperty方法、数据代理
    欢迎来到“雪碧聊技术”CSDN博客!在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将不断探索Java的深邃世界,分享最新的技术动态、实战经验以及项目......