首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WPF 应用完全模拟 UWP 的标题栏按钮

本文将分享一个我自制的标题栏按钮样式,使其与 UWP 原生应用一模一样(同时支持自定义)。...由于 Win32 原生的方法顶多只支持修改标题栏按钮的背景色,而不支持让标题栏按钮全透明,所以我们只能完全由自己来实现这三个按钮的功能了。...标题栏的四个按钮 一开始我说三个按钮,是因为大家一般都只能看得见三个。但这里说四个按钮,是因为实际实现的时候我们是四个按钮。事实上,Windows 的原生实现也是四颗按钮。...自绘标题栏按钮 标题栏按钮并不单独存在,所以我直接做了一整个窗口样式。使用此窗口样式,窗口能够模拟得跟 UWP 一模一样。 以下是模拟的效果: ? ▲ WPF 模拟版本 ?...▲ UWP 原生版本(为避免说我拿同一个应用附图,我选了微软商店应用对比) 为了使用到这样近乎原生的窗口样式,我们需要两个文件。一个放 XAML 样式,一个放样式所需的逻辑代码。

2.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS 按钮标题自动适配的中英文长度 & 动态控制子视图按钮的显示与隐藏 (Masonry版本)

    前言 按钮标题自动适配的中英文长度 比如打印小票,或者提货,是使用同一个按钮,这个时候还要适配中英文。...可以采用以下方式Masonry约束视图的宽度的最小值 make.width.mas_greaterThanOrEqualTo(kAdjustRatio(70));例子:打印小票按钮 动态控制子视图按钮的显示与隐藏...例子:本级的订货清单不显示分配终端按钮子视图 下级代理商的订货清单显示分配终端按钮子视图 原文 https://kunnan.blog.csdn.net/article/details/104380895...I、按钮标题的中英文长度适配适配(Masonry版本) 关键APImake.width.mas_greaterThanOrEqualTo(kAdjustRatio(70)); [_receiptBtn.titleLabel

    1.4K20

    又碰到一个奇葩的BUG​,注意标题

    最近线上发生了一个问题,同事找我说有个用户名字不对,正则验证不通过。 于是我就去数据库查询看了下这个用户的名字信息,就长这个样子。...、名字之类做校验的可以补上一个正则的校验,防止落库的数据是全角,避免坑爹。...在GB/T 9851.2-2008《印刷技术术语 第二部分:印前术语》中有对应的解释: 2.31 全角 em 排字的度量单位,宽度等于所使用的文字的磅数(point),用作排版宽度水平方向的度量。...2.32 半角 en 排字的量度单位,宽度等于同一磅数全角的一半。 大家都知道,我们中文字体都是方块字,包括排版也是一样,所以我们的汉字一个字的宽度是一样的。...但是在英文里就不一样了,一个英文字母的宽度可能是不一样的,所以全角/半角的概念诞生就是为了英文而服务的。 它要表达的意思很简单,就是代表字体宽度的概念而已。

    71920

    CSS实现一个粒子动效的按钮

    作者:XboxYan https://github.com/XboxYan/notes/issues/16 按钮(button)可能是网页中最常见的组件之一了,大部分都平淡无奇,如果你碰到的是一个这样的按钮...不过这里的偏移量只能是px单位,无法很好的自适应按钮的大小,所以这里采用第二种方式来实现 2.background-image CSS3中background-image是可以无限叠加的,类似于 .myclass...实际开发中可能有点难调试,可以直接在控制台中通过键盘上下左右键微调实时预览效果(可以考虑做一个可视化工具)。 ? 这样就做出了一个简单的粒子效果。...小结 上面介绍了纯CSS实现一个粒子动效的按钮,优点很明显,复制一下CSS直接扔到项目里就能用,管他什么原生项目还是react项目,也无需绑定什么事件,也无需额外的逻辑处理,增强现有体验。...试想一下,如果这是一个‘购买’按钮,会不会触发你多购买几次呢,反正我肯定是会被吸引住了,哈~ 缺点也还是有的,比如上面的定位,密密麻麻都是工作量啊,建议这些功能在项目整体完成之后再细细打磨,也可以试着做一些可视化工具来减轻工作量

    1.5K20

    CSS实现一个粒子动效的按钮

    作者:XboxYan https://github.com/XboxYan/notes/issues/16 按钮(button)可能是网页中最常见的组件之一了,大部分都平淡无奇,如果你碰到的是一个这样的按钮...不过这里的偏移量只能是px单位,无法很好的自适应按钮的大小,所以这里采用第二种方式来实现 2.background-image CSS3中background-image是可以无限叠加的,类似于 .myclass...实际开发中可能有点难调试,可以直接在控制台中通过键盘上下左右键微调实时预览效果(可以考虑做一个可视化工具)。 这样就做出了一个简单的粒子效果。...小结 上面介绍了纯CSS实现一个粒子动效的按钮,优点很明显,复制一下CSS直接扔到项目里就能用,管他什么原生项目还是react项目,也无需绑定什么事件,也无需额外的逻辑处理,增强现有体验。...试想一下,如果这是一个‘购买’按钮,会不会触发你多购买几次呢,反正我肯定是会被吸引住了,哈~ 缺点也还是有的,比如上面的定位,密密麻麻都是工作量啊,建议这些功能在项目整体完成之后再细细打磨,也可以试着做一些可视化工具来减轻工作量

    1.4K20

    简单粗暴,以小见大 -- 实现一个按钮的前端组件

    按钮,一个button,一个div,一个a标签,都可以做成按钮。现在要把它做成一个前端组件,那前端组件是什么? 定义很多,我随便网上查一个,“指一些设计为通用性的,用来构建较大型的web应用的”。...就这样的, 一个组件的完整生命周期包括但不限于: 1、init,初始化组件根节点和配置 2、fetch [fɛtʃ],加载 css 和 js 资源 3、render,内容渲染, 4、ready, 进行数据绑定等操作...但为了学习前端组件的开发,我们可以把组件的生命周期“简单粗暴”化的理解,就是“在不同阶段执行的js方法”。 怎么样,这个理解够简单粗暴吧。但它的好处在于,我们可以手动实现了。...然后用我最喜欢的工厂模式:“构造器 + prototype”,来进行js的填空游戏。就这样的, ? 把那些方法分别挂在prototype上,这样,就实现了一个简单粗暴的前端组件。...//////// 不管怎么样,从结构上它至少是有一些通用性的,不是么?刚开始的时候,不要追求精致与宏大。先实现一个小目标,写一个东西出来再说。

    1.3K70

    flutter系列之:做一个下载按钮的动画

    简介我们在app的开发过程中经常会用到一些表示进度类的动画效果,比如一个下载按钮,我们希望按钮能够动态显示下载的进度,这样可以给用户一些直观的印象,那么在flutter中一个下载按钮的动画应该如何制作呢...定义下载的状态我们在真正开发下载按钮之前,首先定义几个下载的状态,因为不同的下载状态导致的按钮展示样子也是不一样的,我们用下面的一个枚举类来设置按钮的下载状态:enum DownloadStatus {...我们需要根据下载状态来指定DownloadButton的样式,所以需要一个status属性。下载过程中还有一个下载的进度条,所以我们需要一个downloadProgress属性。...在未开始下载之前,我们希望downloadButton是一个长条形的按钮,按钮上的文字显示GET,下载过程中希望是一个类似CircularProgressIndicator的动画,可以根据下载进度来动态变化...同时,在下载过程中,我们希望能够隐藏之前的长条形按钮。 下载完毕之后,再次展示长条形按钮,这时候按钮上的文字显示为OPEN。

    45431

    iOS视图滚动的时候控制导航条标题及公告视图的alpha(显示与隐藏)

    I 视图滚动的时候控制导航条标题及公告视图的alpha 应用场景:导航条的标题放到视图中,例如下图 ?...kStatusBarHeight - 44, kWidth, 44); navLab.backgroundColor = [UIColor clearColor]; // 1.2 添加导航条标题视图...}]; } return _noteViw; } 1.2 滚动的时候控制导航条标题和公告视图的...应用场景:比如设计给我们的是一张黑色的返回箭头图.我们某个页面需要弄成白色的话.又不想重新设计一下新的图片 解决方法:修改tintColor 如果按钮是UIButtonTypeSystem类型的,比如修改系统导航栏的...vc.navigationItem.leftBarButtonItem.tintColor = [UIColor whiteColor]; 但是修改自定义按钮的tintColor,需要设置图片的渲染模式为

    1.6K30

    一个简单易用的 Android 导航栏TitleBar

    一个简单易用的导航栏TitleBar,可以轻松实现IOS导航栏的各种效果。...一个简单易用的导航栏TitleBar,可以轻松实现IOS导航栏的各种效果整个代码全部集中在TitleBar.java中,所有控件都动态生成,动态布局。...中间文字 中间文字根据左右控件始终居中显示,自动排版 titleBar.setTitle("文章详情"); titleBar.setTitleColor(Color.WHITE); 3、右边action按钮或者文字...点击了发布", Toast.LENGTH_SHORT).show(); } }); 4、下划分割线 titleBar.setDividerColor(Color.GRAY); 5、一行代码适配沉浸式 如果你的项目使用了沉浸式...,布局时候加上这行代码,TitleBar会自动填充状态栏 titleBar.setDividerColor(Color.GRAY); 6、一行代码设置TitleBar高度 如果你的TitleBar没有固定高度

    803100

    一个设计师应该知道的导航网站:甲方叭叭导航网站

    导航的功能是为了让用户更容易地找到需要的信息,可以对网站的信息架构和站内搜索进行分析和优化,也能对用户起到很好的引导作用。一个有吸引力的导航能够吸引用户去浏览更多的网站内容,增加用户在网站的停留时间。...导航在网站设计中的地位举足轻重,它引导着用户进行浏览和查找,一个良好的导航系统能让用户在离开网站时感觉享受了一次愉快的旅程。 所以这篇文章给大家推荐了一个小众但是实用的导航网站——甲方叭叭。...网站地址:https://jiafangbb.com/ 甲方叭叭是一款专为设计师打造的一个导航网站,你想要的各种设计素材在里面都可以找到相应的资源网站。...作为设计类的网站导航,一流设计导航网有着设计师良好的职业交流氛围的设计行业平台,网站导航提供了包括高清图库、设计教程、灵感创意、字体设计、漫画插画,设计软件等多个网站推荐。...网站预览: 甲方叭叭是一个设计资源十分齐全的导航网站,它上面聚集了全球优秀的知名设计网址导航为设计师提供ps教程、UI设计、素材下载、高清图库、配色方案、用户体验、网页设计等全方位设计师网站导航指引

    1.2K20

    鸿蒙开发:自定义一个简单的标题栏

    前言标题栏几乎是每个应用的标配,或多或少都会存在,在Android中一个简单的组合View就可以搞定,鸿蒙开发中,也是十分的简单,选择相对应的布局,然后设置组件即可。...(50) .justifyContent(FlexAlign.SpaceBetween)以上的代码仅是左中右三个组件的时候使用,可以发现,一个标题组合组件一点难度没有,也没有任何技术含量,在实际的开发中...,如果有多种标题栏的形式,考虑到代码复用的情况,尽量抽取一个自定义组件,通过属性的控制,选择当前页面需要的组件即可。...隐藏右边按钮,默认不隐藏isAvoidanceNavigationboolean是否避让导航,默认不避让titleAttributeTitleAttribute标题通用属性,颜色大小等leftMenuAttributeBarMenuAttribute...})使用总结本身就是一个很简单的标题栏组件,没有什么过多的技术含量,有一点需要注意,当使用沉浸式的时候,注意标题栏的位置,需要避让状态栏。

    15310
    领券