UWP 扩展/自定义标题栏的方法,一些概念和一些注意事项 发布于 2018-07-27 06:17 更新于...直到一些新控件的引入和一些外观设计趋势变化之后,扩展标题栏开始出现一些坑了。 本文将重温 UWP 自定义标题栏或者扩展标题栏的方法,但更重要的是解决一些坑。...阅读 理解 UWP 视图的概念,让 UWP 应用显示多个窗口(多视图) 了解如何编写多个视图的 UWP 应用,了解非主要视图的初始化时机。...当然,如果你比较极客,从 Main 函数开始写 UWP 应用,就像我在 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序 一文中做的一样,那么你也需要等到初始化完毕之后才能调用(至少是...适配移动设备 移动设备上并不是标题栏,而是状态了和虚拟按键。关于扩展视图到这些区域,可以阅读 win10 uwp 标题栏 - 林德熙。
WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome) 发布于 2018-07-12 07:57...鼠标滑入划出的动画效果如何? 窗口标题栏交互 标题栏上有右键菜单,如果自己模拟,基本上这个就要自己重新实现了。...也就是说,Win32 原生方法也许能达到 Google Chrome 的效果,但不可能达到 UWP 中的效果。 为了完全模拟 UWP,标题栏上的按钮只能自绘了。...关于自绘标题栏按钮以模拟 UWP 原生按钮,可以阅读我的另一篇文章(代码太长,还是分开了好):WPF 应用完全模拟 UWP 的标题栏按钮。...如果你正在使用 UWP 开发应用,可参考林德熙的博客 win10 uwp 标题栏 来定制标题栏。
本文告诉大家如何在 UWP 标题栏添加后退按钮 设置里,标题栏有后退按钮,请看下图 ?...在win平板,可以有后退键,手机也有,但是手机的是物理的,平板的和 PC 的后退是在标题栏做的 如果需要在标题栏显示后退按钮,需要使用下面代码 Windows.UI.Core.SystemNavigationManager.GetForCurrentView...在用户点击标题栏的后退按钮的时候,可以通过下面代码拿到事件 Windows.UI.Core.SystemNavigationManager.GetForCurrentView().BackRequested...BackRequested 后退方法,如何获得参见:c# 设计模式 责任链.md 注意不要在每个页面的构造都使用添加事件,如果这样子,那么就会出现按一下后退出现你想不到的异常。...Microsoft/Windows-universal-samples ---- 本文会经常更新,请阅读原文: https://lindexi.gitee.io/post/win10-UWP
鼠标滑入划出的动画效果如何? 窗口标题栏交互 标题栏上有右键菜单,如果自己模拟,基本上这个就要自己重新实现了。...不过 Win32 原生的方法顶多只支持修改标题栏按钮的背景色,而不支持让标题栏按钮全透明。...也就是说,Win32 原生方法也许能达到 Google Chrome 的效果,但不可能达到 UWP 中的效果。 为了完全模拟 UWP,标题栏上的按钮只能自绘了。...关于自绘标题栏按钮以模拟 UWP 原生按钮,可以阅读我的另一篇文章(代码太长,还是分开了好):WPF 应用完全模拟 UWP 的标题栏按钮。...如果你正在使用 UWP 开发应用,可参考林德熙的博客 win10 uwp 标题栏 来定制标题栏。
本文主要说如何设置我们窗口的启动大小,UWP启动窗口大小。...ApplicationViewWindowingMode.PreferredLaunchViewSize; ApplicationView.PreferredLaunchWindowingMode 设置UWP...ApplicationViewWindowingMode.PreferredLaunchViewSize; ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.Auto; 和这个问题相似的还有,UWP...的标题栏问题,我们通过设置了ExtendViewIntoTitleBar=true,导致了没有标题栏,但是如果我们之后设置了false,程序关闭后发现并没有用,简单的方法 var...Window.Current.Bounds.Height } 上面代码是 MasterDetail 使用的,参见 http://lindexi.oschina.io/lindexi/post/win10-uwp
前言 每一个有理想的UWP应用都会打标题栏的主意,尤其当微软提供 将 Acrylic 扩展到标题栏 这个功能后,大部分Windows 10的原生应用都不乖了,纷纷占领了标题栏的一亩三分地。...这篇博客将介绍在UWP中如何自定义标题栏。 2.示例代码 UWP的限制很多,标题栏的自定义几乎全部内容集中在 这篇文档 里面。...简单的颜色自定义 如果只想简单地自定义标题栏的颜色可以通过ApplicationViewTitleBar,ApplicationViewTitleBar表示应用程序的标题栏,它提供了一些颜色属性用于控制标题栏的颜色...将内容扩展到标题栏 若要隐藏默认标题栏并将你的内容扩展到标题栏区域中,请将 CoreApplicationViewTitleBar.ExtendViewIntoTitleBar 属性设置为 true。...但现在的UWP应用常常在Dark和Light主题之间反复横跳,而Application.Current.Resources只能拿到程序加载时的ThemeResource的值,所以这段代码在应用内的主题切换后无效
引言 上一篇文章中,我们主要讲解了如何在保证GridView控件的用户体验基础上,扩展GridView生成GridViewEx控件,增加动态添加新分组功能等,本文在上文的基础上,介绍如何在Windows10...中使用GridViewEx,开发UWP应用。...UWP平台提供了其他的解决方法如AdaptiveTriggers,内置了自适应布局。因此创建UWP应用程序,首先需要删除所有ApplicationViewStates的代码。...但是在UWP应用中,非常灵活,桌面应用可以在标题栏中添加返回按钮,在移动设备中不仅能使用标题栏中的返回键,也可以使用物理返回键实现导航功能。UWP的方法比较通用,且不需要编写自定义的Xaml文件。...ControlTemplate> 22: 23: 24: 修改GridViewEx 控件 接下来,我们将介绍如何修改
全屏响应手势的模式,包括手势可调用系统覆盖(标题 任务栏), 边缘手势可调用临时 UI,而此UIElement反过来可调用对于该边缘的系统覆盖 获取窗口 ID,使用 applicationView.Id ,对于UWP...如何判断是否进入全屏?使用 applicationView.IsFullScreenMode 。...如何获取窗口是横向显示?applicationView.Orientation 可以获取窗口是宽度大于高度,也就是横向,还是相反。...使用 applicationView.Title = “标题” 设置会在标题显示 “标题-程序” 设置标题栏颜色 applicationView.TitleBar 可以获得标题栏,可以通过设置属性自定义标题栏...applicationView.ShowStandardSystemOverlays() 参见:https://docs.microsoft.com/en-us/uwp/api/windows.ui.viewmanagement.applicationview
如何设计请看 Build Amazing Apps with Fluent Design 下面是我从系统收集的界面 设置 无边框的设计按钮在这里使用,可以看到无边框的按钮会在之后很多使用,如果大家在设计按钮的时候...无边框按钮请看 [UWP]使用Reveal - dino.c - 博客园,里面的代码直接拿就可以做出无边框的按钮,下面是 dino 大神做出的界面 需要知道 dino 大神的按钮使用的设计是 Reveal...如何在软件使用毛玻璃,请看 win10 uwp 毛玻璃 - 林德熙 创建空白界面 下面来告诉大家如何创建一个空白页面 首先创建一个页面,随意的命名,然后在主页面跳转到这个页面,因为这是用于测试的。...frame; frame.Navigate(typeof(DrowilHuwfevfPage)); 重写 DrowilHuwfevfPage 的 OnNavigatedTo 设置标题栏...宽度50 CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true; 上面代码是扩展页面到标题栏
什么是,以及怎么用画中画 Windows 10 Creators Update以后UWP提供了一个新的视图模式CompactOverlay,中文翻译成 紧凑的覆盖层?...; • 使用`Window.Current.SetTitleBar`设置为标题栏元素的内容也会在鼠标离开后消失; • 可以改变窗口大小,但只能在 150 x 150 到 500 x 500 之间改变;...通过自定义StateTrigger响应画中画模式 上一篇文章介绍过如何使用AdaptiveTrigger实现响应式布局,CompactOverlay的情况更加极端,毕竟有可能从1920 x 1050突然变成...结语 CompactOverlay mode – aka Picture-in-Picture 上面这篇文章还给出了更多有用的代码:如何判断是否支持CompactOverlay及如何在多视图模式下使用。...Enum (Windows.UI.ViewManagement) - Windows UWP applications Microsoft Docs
这使得你可能已经不知道如何在 C# 代码中创建同样的内容。 比如在代码中创建 DataTemplate,主要会使用到 FrameworkElementFactory 类型。...例如,我曾经用 WPF 来模拟 UWP 流畅设计(Fluent Design)中的光照效果,使用附加属性来管理此行为则完全不用担心内存泄漏问题: 流畅设计 Fluent Design System 中的光照效果...如果要将 WPF 模拟得很像 UWP,可以参考我的这两篇博客: WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome) WPF 应用完全模拟...UWP 的标题栏按钮 模拟 Fluent Design 特效 目前 WPF 还不能直接使用 Windows 10 Fluent Design 特效。...在 Windows 10 上为 WPF 窗口添加模糊特效 然而充分利用 Fluent Design 的高性能,需要上 XAML Islands,详见: [Using the UWP XAML hosting
WPF 应用完全模拟 UWP 的标题栏按钮 发布于 2018-08-04 09:35 更新于 2018-08...本文将分享一个我自制的标题栏按钮样式,使其与 UWP 原生应用一模一样(同时支持自定义)。...---- 在 WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome) 一文中,我使用 WindowChrome 尽可能将 Windows...自绘标题栏按钮 标题栏按钮并不单独存在,所以我直接做了一整个窗口样式。使用此窗口样式,窗口能够模拟得跟 UWP 一模一样。 以下是模拟的效果: ? ▲ WPF 模拟版本 ?...如何使用我制作的原生窗口样式 ?
2018-10-16 08:57 在 UWP 中使用 CommandBar 来迅速添加一组功能按钮是非常迅速的,是 UWP 中推荐的交互方案之一。...▲ CommandBar 在不合适的方向展开 理论上标题栏是挡不住的。不过,由于流畅设计(Fluent Design)的存在,越来越多的应用开始使用自定义的标题栏,以获得浑然天成的流畅设计效果。...因为我自定义了标题栏,当然不能让标题栏挡住我的控件啊! 千万不要尝试将你的 Page 设置一个 Margin 让他下移,因为: ?...在我们一开始的例子中,我们需要留出标题栏的高度,而标题栏高度为 32,所以使用 Minimal 模式时,我们的展开方向自然因为顶部空间不足而向下展开。...▲ 使用样式更改的展开方向 究竟应该如何修改 CommandBar 的展开方向 在多数情况下,我想我们并没有特别强烈的需求一定要让 CommandBar 在顶部依然有空间的情况下展开方向向下。
UWP实现本地化非常简单,所谓本地化表现最为直观的就是UI上文字和布局方式了,针对文字,提供不同的语言资源文件即可,而针对布局方式,比如在 阿拉伯地区 阅读顺序是从右到左,需要稍稍适配一下。...本文主要讲解的是UWP APP如何进行多语言支持 多语言的文件 Resources.resw 必须放在以语言代码为文件夹名称的目录下,默认情况下系统才能识别; 多语言文件夹放在任何目录都可以,只需要注意的就是文件夹的名称必须是语言代码...但前提是该节点下面必须有如下元素 针对需要布局RTL的语言,如希伯来语,只需要添加例如语言代码为 “he” 的资源文件即可,系统会自动对标题栏等地方进行...RTL布局,但也仅限于标题栏,页面内部的RTL,还需要手动设置 FlowDirection 为 RightToLeft; 如果在运行时,你的 app 不支持当前电脑系统选择的语言,则默认会使用 Default...-021、fr-011 hi、hi-in it、it-it、it-ch ja、ja-jp pt、pt-pt、pt-br ru、ru-ru 使用这种方法实现的切换App语言,必须重启 才能生效,可参考 UWP
Fall Creators Update(16299)中如何实现FDS以及其它FCU的新API,极具参考价值。...比起默认的写法,我更喜欢UWP Community Toolkit封装好的 Connected Animations 附加属性。...但我觉得重申这个主题十分重要,UWP诞生的目的就是为了打造能在各种设备上运行的通用应用,伸缩性对UWP至关重要。即使只针对桌面设备,能有各种输入方式对可用性都有很大提高。...在Fall Creators Update中升级应用 在Fall Creators Update中只需要修改导航及标题栏,应用的UI即可有大幅提升。 ?...Name="RootFrame" Navigated="RootFrame_Navigated"> 3.2 将内容扩展到标题栏
本文告诉大家如何用 WinDbg 调试 UWP 应用,使用 WinDbg 调试是在没有其他手段的时候才进行的调试,因为调试难度特别大。...我最近因为发现有 Edge 和其他 UWP 程序打不开的问题,然而我没有 Edge 和其他 UWP 的源代码,于是我只能通过 WinDbg 去调试 UWP 程序 找到工具 请不要在网上去下载 WinDbg...Windows 10 SDK 之后,可以在 C:\Program Files (x86)\Windows Kits\10\Debuggers 里面找到对应的 x86 和 x64 等版本的工具,打开之后可以从标题栏看到版本号...,要求的版本号是 10.0 以上 附加进程调试 附加到 UWP 程序的方法和附加到普通的程序的方法相同,但是附加到 UWP 程序调试的难度会比较大,因为 UWP 程序在调试过程可能就被挂起 在 WinDbg...> -plmApp [] 可以从命令看到需要两个参数,一个是 PLMPackageName 一个是 ApplicationId 下面让我告诉大家如何拿到这两个参数
UWP是什么我在这里就不说,本文主要是介绍如何入门UWP,也是合并我写的博客。...lindexi_gd/article/details/50972343 当然还有:http://blog.csdn.net/NoMasp/article/details/50263383 接着我们就需要学如何使用控件...win10 UWP FlipView RichEditBox 使用自定义菜单 我们需要知道一些新的UWP带来的,x:bind 和加载 http://blog.csdn.net/lindexi_gd/...win10 UWP 标题栏后退 http://blog.csdn.net/lindexi_gd/article/details/50618029 剪贴板 http://blog.csdn.net...p=916 win10 uwp 如何让WebView标识win10手机 http://www.win10.me/?
为了让本金鱼下次遇到触摸或鼠标问题的时候可以解决,于是写了这个博客 本文将会告诉大家在 WPF 里面关于非客户区的触摸和鼠标点击响应 在本文开始之前,需要大家知道非客户区 Non-client Area 的概念,其实就是窗口标题栏大概的意思...,详细请看 一起学WPF系列(3):窗体 - Robin Zhang - 博客园 和 WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome...) - walterlv 敲黑板,下面的知识点要考 默认的 WPF 程序支持在非客户区响应 Touch 触摸,但不响应鼠标点击和 Pointer 触摸 如果需要在非客户区也就是窗口标题栏支持鼠标点击,那么请在按钮添加附加属性...如何开启 Pointer 消息请看 win10 支持默认把触摸提升鼠标事件 打开 Pointer 消息 我和 lsj 使用 spy++ 知道在 WPF 的标题栏点击的时候是可以收到 Windows 鼠标消息...现在 lsj 正在看 WPF 的源代码,想要找到是如何让标题栏支持触摸但是不支持鼠标点击 在 WPF 下,可以在非客户区的触摸拖动的时候,同时触发触摸拖动和窗口拖动。
领取专属 10元无门槛券
手把手带您无忧上云