这个项目能做什么
MahApps.Metro 是一个用于 WPF(Windows Presentation Foundation)的 UI 工具包,让开发者能够以最少的工作量为桌面应用程序赋予现代、Metro 风格的外观。它并非替换现有控件,而是通过合并资源字典来重新样式化标准 WPF 控件——如 Button、TextBox、DataGrid、TreeView 等——因此无需重写代码或受供应商锁定。
主要功能包括:
- **MetroWindow**:自定义窗口边框,用开发者控制的命令、彩色发光边框、对话框覆盖层以及可从任意边缘滑入的飞出面板替换 Windows 标题栏。
- **主题引擎**:基础主题(浅色或深色)加上强调色,可在运行时切换。ThemeManager 可以跟随 Windows 强调色和系统浅色/深色设置,并且可以从相同方案生成自定义主题。
- **导航控件**:用于侧边栏模式的 HamburgerMenu、SplitView、任意边缘的飞出面板、动画选项卡控件,以及用于基于页面导航的 MetroNavigationWindow。
- **对话框**:消息、输入、登录和进度对话框以窗口内覆盖层形式显示,而非阻塞式模态框。它们可等待,并可从视图模型中使用。
- **输入和数据控件**:ColorPicker、DateTimePicker、NumericUpDown、MultiSelectionComboBox、HotKeyBox 以及重新样式化的 DataGrid。
- **反馈元素**:徽章、进度条和进度环、切换开关以及验证弹出框。
- **附加属性**:水印、清除按钮、每个控件的圆角半径、拼写检查样式和选中项画笔以附加属性形式提供(例如 TextBoxHelper.Watermark),因此行为附加到标准控件上,而非继承自特殊控件。
- **样式变体**:遵循 Visual Studio、Windows 10 或 WinUI 约定的主题。
该项目始于 2011 年 1 月 29 日,采用 MIT 许可证,自 2020 年起成为 .NET Foundation 的一部分。已有超过 160 人为其做出贡献。
版本 2.4 运行于 .NET Framework 4.5.2 及更高版本,以及 .NET Core 3.x。版本 3.0(NuGet 上的候选发布版)面向 .NET Framework 4.6.2、.NET 6 和 .NET 8,并将窗口边框更新至 Windows 11:标题按钮注册为非客户端控件,使最大化按钮参与贴靠布局,窗口可使用更新的背景材料。
该工具包通过 NuGet 分发,并用于生产应用程序,如 Master Packager、Markdown Monster、Chocolatey GUI、NETworkManager 等。它在 MIT 许可证下对开源和商业使用均免费。
评论
0 评分人数达到10人后显示
登录后参与讨论。