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

UWP 入门教程2——如何实现自适应用户界面

如图所示,无论用户使用哪种设备,蓝色按钮始终放在文本框右侧,并排放在黄色按钮顶部。 ?...UI UWP 提供自适应可视化状态,可根据窗口大小来调整状态值。...StateTriggers定义了一个阈值,达到阈值则触发可视化状态。下面示例了,当窗口大于720像素,wideView 状态则被触发,游戏面板重新排列,如图所示: ?...使用导航设计指南来设计工作流程,使得App可兼容移动设备,较小的屏幕或较大的屏幕设备。 考虑特殊情况,较小的移动设备屏幕失效,也可能有一些功能区在固定式台式机上不起作用,而需在移动设备上才能运行。...考虑如何兼容多种输入形式 通过Dashboard提交通用 Windows 应用 利用新的通用的 Windows 开发人员中心仪表板,可以在同一位置管理和提交所有面向 Windows 设备的应用。

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

    UWP 轻量级样式定义(Lightweight Styling)

    更新于 2018-12-14 01:54 在 UWP 中,可以通过给控件直接设置属性或在 Style 中设置属性来定制控件的样式;不过这样的样式定义十分有限,比如按钮按下时的样式就没法儿设置...="#ca5100"/> 现在我们只是设置一些颜色值即修改了按钮在多种状态下的外观...如何找到控件支持的主题资源 前面我们知道了如何定制轻量级样式,但实际做 UI 的时候,我怎么知道有哪些样式主题资源的值可以使用呢?...本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布

    69620

    UWP WinUI 制作一个路径矢量图标按钮样式入门

    本文将告诉大家如何在 UWP 或 WinUI3 或 UNO 里,如何制作一个路径按钮。...在咱的应用程序里面,可以使用这些矢量图作为按钮的图标,从而更好的进行表意,让界面有更好的设计。...自然是可以的,接下来咱使用简单的附加属性来解决此问题 通过附加属性的方式,既可以用在 UWP 等框架上,同样在 WPF 里面也是可以使用的,毕竟都是相同系列的框架 在后台 cs 代码里面定义一个名为 ButtonHelper...,可以到本文末尾获取所有代码的下载方法,拉取我的代码跑跑看 通过以上代码,可以看到使用 (local:ButtonHelper.ButtonPath) 将 Data 绑定到 ButtonHelper 的...正常状态需要放在第一个 开始编写正式的代码之前,先复习一下 VisualStateManager 的用法,如下面的代码,既可以在 VisualState 里面使用 Setter 修改属性。

    11310

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

    ---- 在 WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome) 一文中,我使用 WindowChrome 尽可能将 Windows...使用此窗口样式,窗口能够模拟得跟 UWP 一模一样。 以下是模拟的效果: ? ▲ WPF 模拟版本 ?...▲ UWP 原生版本(为避免说我拿同一个应用附图,我选了微软商店应用对比) 为了使用到这样近乎原生的窗口样式,我们需要两个文件。一个放 XAML 样式,一个放样式所需的逻辑代码。...如何使用我制作的原生窗口样式 ?...如果不设置,效果跟 UWP 默认情况下的效果完全一样。 下面是这份样式在 Whitman - Microsoft Store 应用中实际使用的效果,其中的颜色设置就是上面代码中所指定的颜色: ?

    2.2K20

    New UWP Community Toolkit - Carousel

    CarouselItem.cs 在前面 Carousel.xaml 中我们看到了 CarouselItem 的样式,有针对 VisualStateManager 的样式状态,而 CarouselItem...类则定义了这些状态变化事件对应的处理方法。...分别有 OnIsSelectedChanged,OnPointerEntered,OnPointerExited 和 OnPointerPressed,在触发这些状态时,CarouselItem 会对应切换到那个状态时的样式...,动画速度和每个元素变换状态,以及选中元素的变化; OnManipulationCompleted 则是在触控结束后,确定结束动画,以及结束时应该选中那个元素; UpdatePosition() 方法则是在...总结 到这里我们就把 UWP Community Toolkit 中的 Carousel 控件的源代码实现过程和简单的调用示例讲解完成了,希望能对大家更好的理解和使用这个控件有所帮助,让你的图片列表控件更加炫酷灵动

    1.4K60

    UWP 流畅设计中的光照效果(容易的 RevealBorderBrush 和不那么容易的 RevealBackgroundBrush)

    本文将告诉大家如何完整地实现这样的效果。 Reveal 的效果(自带) 在微软官方推荐的 XAML Controls Gallery 应用中,我们可以找到 Reveal 的实现章节。...下图是应用中演示的 Reveal 效果: image.png 不过在其实现中,全都是使用的系统自带的样式,例如: <Button Style="{StaticResource ButtonRevealStyle...(自己实现) 采用自带效果的控件看起来实现很容易,不过 UWP 控件的自带样式略坑,自己实现控件样式和模板是不可避免的事儿。...本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布

    55020

    如何将GridViewEX升级到UWP(Universal Windows Platform)平台

    因此创建UWP应用程序,首先需要删除所有ApplicationViewStates的代码。可能会导致使用LayoutAwarePage的部分会报错。因此我们需要做一些兼容性的改变。...但是在UWP应用中,非常灵活,桌面应用可以在标题栏中添加返回按钮,在移动设备中不仅能使用标题栏中的返回键,也可以使用物理返回键实现导航功能。UWP的方法比较通用,且不需要编写自定义的Xaml文件。...现在由LayoutAwarePage派生而来的所有页面都可直接使用,无需在多个文件中添加引用。 LayoutAwarePage 类最后添加设备查询的静态方法,来检测运行时设备。...为了使界面对用户更加友好,并且将拖放的位置高亮, 因此我们新建了新的“NewGroupPlaceholder”控件,在拖拽过程中有简单的状态切换逻辑。 ?...> 23: Setter> 24: 修改GridViewEx 控件 接下来,我们将介绍如何修改GridViewEx控件,使得其可以适应UWP。

    2.8K80

    UWP 流畅设计中的光照效果(容易的 RevealBorderBrush 和不那么容易的 RevealBackgroundBrush)

    本文将告诉大家如何完整地实现这样的效果。 ---- Reveal 的效果(自带) 在微软官方推荐的 XAML Controls Gallery 应用中,我们可以找到 Reveal 的实现章节。...不过在其实现中,全都是使用的系统自带的样式,例如: <Grid...(自己实现) 采用自带效果的控件看起来实现很容易,不过 UWP 控件的自带样式略坑,自己实现控件样式和模板是不可避免的事儿。...本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布

    83420

    以Button为例谈谈如何模仿Aero2主题

    Aero2的设计 ? 上面分别是Aero2(左)和Aero(右)的Button在几种状态下的外观,从中可以看出Aero2的设计是扁平化的风格,移除圆角、渐变等装饰性元素,以实用为目的。...顺便拿Button与WPF的其它控件、及UWP的相同控件做横向对比,使用相同的XAML产生的UI如上图所示(上为UWP,下为WPF)。...我建议在实际项目中根据需要使用样式将按钮的高度统一为24、28、32像素(The sizes, margins, and positions of UI elements should always be...再次横向比较一下,这次试用Disabled状态作比较,可以看到每个控件的边框无论在Enabled或Disabled的状态下边框颜色都不一样(除了TextBox和PasswordBox,他们关系好)。...这点WPF原生控件也是一样的,它们很多都没有声明TemplateVisualState,而且ControlTemplate也没有使用VisualState,但使用Blend编辑控件模板还是可以在“状态”

    1.2K40

    win10 uwp 在 ItemsPanelTemplate 里面通过样式绑定 Orientation 显示方向

    在 UWP 是不支持在 Setter 里面的 Value 进行绑定,如果想要在 ItemsPanelTemplate 里面绑定显示方向,那么需要通过附加属性的方法绑定。...> Setter> 在开始绑定的时候,没有提示任何信息,也没有绑定成功 因为在 Setter Class (Windows.UI.Xaml) - Windows UWP applications 说到在...UWP 是不支持在 Setting 的 Value 绑定,这个和 WPF 不相同,建议使用静态的资源 Windows Presentation Foundation (WPF) and Microsoft...在这里是几乎无法通过静态资源做到绑定的,那么如何让在后台代码修改的时候,可以修改 xaml 里面的 ListView 的列表显示方向绑定到后台的属性?..."{x:Bind Page1}"> 在样式里面多设置一个附加属性,这里的 Orientation 绑定是不会绑定的 <Style TargetType="ListView

    45710

    win10 uwp 在 ItemsPanelTemplate 里面通过样式绑定 Orientation 显示方向

    在 UWP 是不支持在 Setter 里面的 Value 进行绑定,如果想要在 ItemsPanelTemplate 里面绑定显示方向,那么需要通过附加属性的方法绑定。...> Setter> 在开始绑定的时候,没有提示任何信息,也没有绑定成功 因为在 Setter Class (Windows.UI.Xaml) - Windows UWP applications 说到在...UWP 是不支持在 Setting 的 Value 绑定,这个和 WPF 不相同,建议使用静态的资源 Windows Presentation Foundation (WPF) and Microsoft...在这里是几乎无法通过静态资源做到绑定的,那么如何让在后台代码修改的时候,可以修改 xaml 里面的 ListView 的列表显示方向绑定到后台的属性?..."{x:Bind Page1}"> 在样式里面多设置一个附加属性,这里的 Orientation 绑定是不会绑定的 <Style TargetType="ListView

    83130

    WPF 自定义键盘焦点样式(FocusVisualStyle)

    这时,其自带的键盘焦点样式(FocusVisualStyle)就非常不搭了,改改会舒服得多。比如,改成 UWP 的样式。 本文将展示 WPF 自定义键盘焦点样式自定义的坑! ---- ?...▲ UWP 暗主题键盘焦点样式 其实微软官方文档 Styling for Focus in Controls, and FocusVisualStyle - Microsoft Docs 有说明 FocusVisualStyle...所以,我试着写一个样式以覆盖默认的样式: Setter Property...本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布

    1.5K10

    WPF 自定义键盘焦点样式(FocusVisualStyle)

    这时,其自带的键盘焦点样式(FocusVisualStyle)就非常不搭了,改改会舒服得多。比如,改成 UWP 的样式。 本文将展示 WPF 自定义键盘焦点样式自定义的坑!...---- image.png ▲ WPF 自带的键盘焦点样式 image.png ▲ UWP 暗主题键盘焦点样式 其实微软官方文档 Styling for Focus in Controls, and...所以,我试着写一个样式以覆盖默认的样式: Setter Property...本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布

    85820

    创建一个ProgressControl

    状态按钮会从方形变成圆形; 在Started状态下使用Ellipse配合StrokeDashArray显示进度; 完成后可切换到Completed状态; 出错后可切换到Faulted状态; 运行效果如下...相似,还是直接继承自Button; CancellButton,外观上模仿progressStateIdicator,在Paused状态下显示; 懒得为它命名的Ellipse,用于在Started状态下显示进度...="" /> 之前的ProgressButton中ControlTemplate有些复杂,这次用于Started、Completed和Faulted等状态下显示的元素都使用样式并统一了它们的...为了减轻VisualTransition的负担,在VisualTransition中只改变Ellipse的Visibility,Opacity的动画使用了UWP Community Toolkit 的...除了使用UWP Community Toolkit的部分基本上移植到WPF,而UWP Community Toolkit的部分应该也可以使用其它方法代替。 5.

    71230

    New UWP Community Toolkit - ImageEx

    ImageEx 是一个图片的扩展控件,包括 ImageEx 和 RoundImageEx,它可以在异步加载图片源时显示加载状态,也可以在加载前使用占位图片,在下载完成后可以在应用内缓存,避免了重复加载的过程...控件部分类的定义类 RoundImageEx.xaml - RoundImageEx 控件样式文件 ?...PlaceHolder 和 Progress,加载成功后显示 Image;同时样式在 Failed,Loading,Loaded 和 Unloaded 状态时,也会切换不同层的显示来完成状态切换; Setter> 调用示例 我们创建了两个控件,ImageEx 和 RoundImageEx,如下图一是加载中的过渡状态,图二是正常显示的状态;如果 Source 设置有误,则会出现图三只显示 PlaceHolder...总结 到这里我们就把 UWP Community Toolkit 中的 ImageEx 控件的源代码实现过程和简单的调用示例讲解完成了,希望能对大家更好的理解和使用这个控件有所帮助。

    99870

    给WPF一个HyperlinkButton

    Hyperlink怎么设置样式 要给Hyperlink设置样式也有点难搞,因为在对象树上Hyperlink毫无存在感,所以也没办法使用Blend创建它的Style。 ?...UWP很多使用代码控制样式的行为,通常宣称理由是为了性能,但Button是整个UI中最不需要性能的部分,毕竟一个UI中不可能有几百个Button,就算有几百个HyperlinkButton,现代的UI框架也不可能仅仅因为下划线就导致性能下降...,需要一个HyperlinButton被点击后导航到的NavigateUri属性,以及在OnClick函数中使用Process.Start在新进程打开目标Uri。...Pressed和Disabled的状态使用VisualState控制外观,这部分略过。...(我记得在UWP中就没有这个问题,UWP的ContentPresenter自带透明背景) 4. 结语 HyperlinkButton明明很重要但WPF又不提供,幸好自己写起来也很简单。

    1.1K20

    win10 uwp 自定义控件入门

    本文告诉大家如何在 UWP 使用 CustomControl 自定义控件,在 UWP 的自定义控件的中文翻译是模板化控件,通过自定义控件可以完全控制整个控件的布局和渲染。...默认创建的自定义控件是没有带 xaml 的,如果想要让 CustomControl 可以使用 xaml 就需要引入主题的方法 下面就来告诉大家如何使用 xaml 来做界面 在 CustomControl...使用 xaml 写界面 在 UWP 主要的元素就是控件,可以说,整个 UWP 的界面都依靠控件画出来的。...控件都使用这个样式,通过修改 Template 的方法添加控件 Setter Property="Template...在 UWP 会将所有的控件按照控件所在的容器,作为视觉树,视觉树的意思很简单,我有一个 Grid 在里面放在两个 Grid 同时又在第一个 Grid 里面添加一个文本,这时的控件可以使用树这个数据结构表示

    90320
    领券