UWP随手记
文章平均质量分 81
brandonw3612
这个作者很懒,什么都没留下…
展开
-
【UWP】Toggle Theme 切换主题的推荐实现方式 (2)
背景前一篇博文留下了一个遗憾: 用户切换应用主题时应用主体内容会发生响应, 但标题栏无法随之改变. 本文探讨标题栏的修正.标题栏按钮颜色设置不去弄选择分支了. 直接打一个字典就行. 此处我的设置如下:ItemNoteLight Color / RGBDark Color / RGBButtonBackgroundColor普通状态下按钮背景色TransparentTransparentButtonForegroundColor普通状态下按钮前景色BlackW原创 2021-08-21 23:43:16 · 322 阅读 · 1 评论 -
【UWP】Toggle Theme 切换主题的推荐实现方式 (1)
背景UWP 平台项目由于 XAML 标记语言的优势, 在设计时运用好 ThemeResource 和 ThemeDictionaries 就可以原生支持系统的亮 / 暗模式, 而无需任何冗余代码. 在这种前提下, 应用的主题由系统决定. 但有时我们也希望可以由用户自行定义应用程序的主题.传统做法我们会在应用的设置视图中加入供用户选择的控件 (一般是 RadioButtons, 偶尔也见过 ComboBox 的). 在控件的选择激活事件中我们存储相关设置项, 在应用程序启动时读取设置项进行主题的设置.原创 2021-08-20 16:47:47 · 602 阅读 · 0 评论 -
【UWP】UniversalApiContract 版本一览
编写 UWP 程序时常常需要使用特定 Windows 版本的 API,例如项目运行所需的最低 Windows 版本设置为 1709 (Build 16299),但在代码中使用了1809 (Build 17763) 以上才支持的API。如果在 XAML 代码中使用,我们需要使用条件 XAML。例如:<Page x:Class="ConditionalTest.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pr原创 2021-08-14 22:30:19 · 631 阅读 · 0 评论 -
【UWP】AnimatedIcon 动态图标的实现步骤
前言2021年6月24日,随着微软正式宣布 Windows 11 作为下一代 Windows 的大版本更新, 更新的流畅设计体系 Fluent Design System 也通过 WinUI 库 2.6 版本与大家见面. 本文探讨其中 "动态图标 AnimatedIcon" 板块的具体内容.背景其实这套AnimatedIcon的实现途径并不新鲜. 早在很久以前的Windows Community Toolkit 中, 我们便已在 Lottie-Windows 中见过. Lottie 是 Airbnb原创 2021-08-05 04:52:01 · 970 阅读 · 0 评论 -
【UWP】借助GestureRecognizer:一种滑动手势动效的实现
背景播放器项目中存在设计:播放详情视图 PlaybackDetailView 单独写成 Page 嵌套在一个 Frame 中浮动在根视图的NavigationView 上层。(此前试着用过页面导航的方式切换,但效果较差,且不易与 NavigationView 的历史导航结合使用,故放弃。)后通过 Microsoft 提供的 Windows Community Toolkit,使用 Microsoft.Toolkit.Uwp.UI.Animations 提供的ImplicitAnimations 实现了动画原创 2021-07-03 02:09:16 · 397 阅读 · 0 评论 -
【UWP】多个ScrollViewer嵌套时鼠标滚轮事件的处理
背景项目需要实现下图的布局: 页面根部为垂直滚动的ScrollViewer,其中包含纵向排列的StackPanel,StackPanel的子元素中包含横向滚动的ScrollViewer。UWP提供的ScrollViewer控件对于触摸屏、触控板的操作逻辑适应良好,可随用户手势进行滚动,但对于鼠标滚轮就有些麻烦。默认情况下,当鼠标滚轮在HorizontalScrollViewer内滚动时,仅HorizontalScrollViewer内的布局面板发生滚动,而外层的VerticalScrollViewer原创 2020-10-23 22:31:17 · 652 阅读 · 0 评论 -
【UWP】如何获取ListView/GridView控件内置ScrollViewer对象
开发项目需要在用户滚动ListView时做出响应,实时调节某些控件的属性.观察ListView默认的Template, XAML代码如下:<ControlTemplate TargetType="ListView"> <Border Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBindi原创 2020-09-16 21:52:34 · 427 阅读 · 0 评论