首页
学习
活动
专区
圈层
工具
发布

使用WindowChrome自定义RibbonWindow

为什么要自定义RibbonWindow 自定义Window有可能是设计或功能上的要求,可以是非必要的,而自定义RibbonWindow则不一样: 如果程序使用了自定义样式的Window,为了统一外观需要把...在最大化的时候标题栏内容甚至超出屏幕范围。 WPF提供的Ribbon是个很古老很古老的控件,附带的RibbonWindow也十分古老。...以前的做法通常是使用Fluent.Ribbon之类的第三方组件,因为我已经在Kino.Toolkit.Wpf中提供了使用WindowChrome自定义的Window,为了统一外观于是顺手自定义一个ExtendedRibbonWindow...结语 我也见过一些很专业的软件没处理RibbonWindow,反正外观上的问题忍一忍就过去了,实在受不了可以买一个有现代化风格的控件库,只是为了标题栏对不齐这种小事比较难说服上面同意引入一个新的组件。...除了使用我提供的解决方案,stackoverflow也由不少关于这个问题的讨论及解决方案可供参考,例如这个: c# - WPF RibbonWindow + Ribbon = Title outside

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

    一款基于Fluent设计风格、现代化的WPF UI控件库

    前言 今天大姚给大家分享一款基于Fluent设计风格、开源(MIT License)、现代化的WPF UI控件库,它提供直观的设计、主题、导航和全新的沉浸式控件,全部都是原生且无缝地集成在一起:WPF...WPF介绍 WPF 是一个强大的桌面应用程序框架,用于构建具有丰富用户界面的 Windows 应用。...它提供了灵活的布局、数据绑定、样式和模板、动画效果等功能,让开发者可以创建出吸引人且交互性强的应用程序。 项目源代码 Wpf.Ui:允许在应用程序中使用所有功能的库(核心功能类库)。...Wpf.Ui.Gallery:包含所有控件的应用程序。 项目源码运行 要查看WPF UI所有控件的演示效果,我们只需要设置Wpf.Ui.Gallery为启动项目运行即可。...坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没)。

    58710

    流畅设计 Fluent Design System 中的光照效果 RevealBrush,WPF 也能模拟实现啦!

    流畅设计 Fluent Design System 中的光照效果 RevealBrush,WPF 也能模拟实现啦!...然而古老的 WPF 项目也想解解馋怎么办? 于是我动手实现了一个! ---- 迫不及待看效果 ? ▲ 是不是很像 UWP 中的 RevealBorderBrush?...▲ 我自己画的图,不忍直视,只好模糊掉作为背景了 话不多说看源码 UWP 里的 CompositionBrush 是用一个 ShaderEffect 做出所有控件的所有效果的。...正如 叛逆者 在 如何评价微软在 Build 2017 上提出的 Fluent Design System? - 知乎 一文中说的,只需要极少的计算量就能完成。...WPF 不让我们实现自己的 Brush,所以只好用 MarkupExtension 绕道实现了。

    99620

    一款专门为 WPF 打造的开源 Office 风格用户界面控件库

    前言今天大姚给大家分享一款专门为 WPF 打造的开源(MIT license)、免费的 Office 风格用户界面控件库:Fluent.Ribbon。...项目介绍Fluent.Ribbon 一个为 Windows Presentation Foundation(WPF)实现类 Office 开源(MIT license)、免费的用户界面控件库,提供了诸如...RibbonTabControl(功能区选项卡控件)、Backstage(后台视图)、Gallery(画廊控件)、QuickAccessToolbar(快速访问工具栏)、ScreenTip(屏幕提示)...等控件。...GitVersion 是一个用于根据 Git 历史自动生成语义化版本号的工具,常用于 CI/CD 和本地构建流程中。解决方案:搜索项目中的GitVersion.MsBuild删除或者注释掉。

    18000

    如何使用Fluent Design System (下)

    不得不再次点名批评改名部,看看以前Lumia、Aero、Metro、Modern,个个都好读好记;Fluent Design System什么鬼。...文章开头介绍的视频中展示了ParallaxView在MR中运行的效果,效果有趣很多: ? 即使只在桌面上运行,FDS也激发了不少创意。例如这些设计: ?...其实比起各种新控件新特效,我更希望FDS给出一个大的设计准则,一个严谨又包容多样性的规范。这几年随着Windows不再强势,设计师好像突然就忘了在桌面上怎么设计了。...当年也曾热衷于在桌面上使用Metro,但现在对在WPF上使用FDS没什么兴趣。何况这个主题是讨论UWP中额FDS,不太想涉及WPF。...上一篇文章的评论里提到FDS其中几种元素在WPF上的实现,有兴趣可以参考一下。 8.

    1.5K20

    WPF工具开发: 第三库选择

    库, 风格不可定制 WPF Property Grid 开源 功能还不够完善 可以定制风格 PropertyEditor for WPF 开源 功能比较实用, 有自己的特色 Actipro PropertyGrid...商业控件 Mindscape WPF Property Grid 商业控件 DockWindow AvalonDock 开源, 几乎是商用之外的最好选择 DotNetBar for WPF...商业控件库 Actipro Docking & MDI 商业控件库 RibbonBar Microsoft Ribbon for WPF 官方扩展 功能单一 Fluent Ribbon Control...Suite 开源 支持Office2010风格 DotNetBar for WPF 商业控件库 很方便的VS内嵌设计器 最新版支持Office2010风格 除了RibbonBar, 还有其它很实用的功能...Simple WPF Syntax Highlight Textbox ScintillaNET 这是Scintilla的.Net封装, 很有名的一个控件 Actipro SyntaxEditor 这个是收费的

    1.3K50

    winform能做出漂亮的界面吗_winform界面美化第三方控件

    大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说winform能做出漂亮的界面吗_winform界面美化第三方控件,希望能够帮助大家进步!!!...的 CheckBox.CheckState 属性,SetBinding 方法中的 Lambda 表达式是转换属性值的转换器。...(l) l.Text, Function(x) x.Price, "Price: {0:C2}") 将多个属性绑定到同一个控件 要在同一控件中组合多个属性的值,请使用 MvvmContext.SetMultiBinding...此方法接受以下参数: 控件名称; 应该绑定的控件属性; 一个字符串数组,填充了可绑定的 ViewModel 属性的名称,这些属性的值应该组合在一起; 一个格式字符串(对于不可编辑控件)或一对转换器(如果允许用户编辑绑定控件...使用格式字符串的模块将属性绑定到禁用(不可编辑)的编辑器,在使用转换器的模块中,您可以更改 TextEdit 值并将更新后的字符串传递回 ViewModel 属性。

    4K20

    WPF 很少人知道的科技

    本文介绍不那么常见的 WPF 相关的知识。 ---- 在 C# 代码中创建 DataTemplate 大多数时候我们只需要在 XAML 中就可以实现我们想要的各种界面效果。...,以便在 WPF 界面的同一个列表中显示多个数据源的数据。...例如,我曾经用 WPF 来模拟 UWP 流畅设计(Fluent Design)中的光照效果,使用附加属性来管理此行为则完全不用担心内存泄漏问题: 流畅设计 Fluent Design System 中的光照效果...UWP 的标题栏按钮 模拟 Fluent Design 特效 目前 WPF 还不能直接使用 Windows 10 Fluent Design 特效。...当然如果你的程序非常小,那么模拟一下也不会伤害太多性能: 流畅设计 Fluent Design System 中的光照效果 RevealBrush,WPF 也能模拟实现啦!

    77820

    使用 Microsoft.UI.Xaml 解决 UWP 控件和对老版本 Windows 10 的兼容性问题

    即提供各种 Windows UI 功能的向后兼容性,包括 UWP XAML 控件、Fluent 流畅设计样式和画刷。当然,不支持亚克力效果的系统版本虽然画刷能用,不崩溃,但也没有效果的。 ?...,比如我在 StackOverflow 上回答的问题 Use ResourceDictionary with other Styles in WPF 也是这样的改法,其中说明了必须这样修改的原因。...不过没有结束,在需要使用到新版本 Windows 10 控件的 XAML 文件中,需要添加命名空间前缀: xmlns:controls="using:Microsoft.UI.Xaml.Controls..." 这样才能在 XAML 中使用 Microsoft.UI.Xaml 库中的新控件: 中,也可以在 C# 代码中使用库中的新 API。 解决意料之外的错误 一切可以那么顺利?

    4K10
    领券