TerminalMACS.ManagerForWPF
TerminalMACS, Chinese full name:多终端管理与检测系统, English full name:Terminal Management and Check System
Install / Use
/learn @dotnet9/TerminalMACS.ManagerForWPFREADME
注意: 此项目只用于存放一些测试代码,逐渐沦为一个大杂烩仓库,请谨慎star。
- 刚开始的规划是做一个多平台的监控开源项目,做着做着就变成一个demo集合项目了。
- 不定期的更新.NET最新版本,目前是 .NET 7,不做历史版本保留,抱歉。
- 现在此项目的目标只是做学习和积累。
0. 简介
一个使用 Prism 作为模块化框架、基于多个开源控件库作为UI控件选择、集成开源 UI 界面设计的 .NET 7 WPF 客户端项目。
1. 特性
- 使用 .NET 7 开发,体验最新 .NET 平台
.NET是免费,跨平台,开源的,用于构建所有应用的开发人员平台。
- 基于 Prism 8 搭建模块化框架,方便程序扩展
Prism为程序设计提供指导,旨在帮助用户更加容易的设计和构建丰富、灵活、易于维护WPF桌面应用程序。Prism使用设计模式(如MVVM,复合视图,事件聚合器),帮助你创建一个松耦合的程序。遵循这些设计模式原则,将目标程序解耦成独立的模块。这些类型的应用程序被称为复合应用程序。
- 已使用或即将使用到多个开源WPF控件库
多种开源 WPF UI 库选择,开发 WPF 项目更方便:MaterialDesignInXamlToolkit、 HandyControl、 PanuonUI.Silver、 AduSkin。
- ECharts
ECharts:pie-doughnut
-
本地化支持
-
动态国际化支持
-
支持主题色动态切换
2. 支持环境
- .NET 7.0。
- Visual Studio 2022
3. 当前版本
0.1
4. 链接
官方网站
- Dotnet9:https://dotnet9.com
- 快乐玩转技术:https://dotnet9.com
5. 项目界面截图
5.1. 关于
<p align="center"> <a href="https://dotnet9.com"> <img width="800px" src="./assets/about-zh_CN.png"> </a> </p> <p align="center">关于TerminalMACS</p>5.2. 首页模块
5.3. 服务端模块
5.4. 客户端模块
5.5. 测试案例
收集全球优秀的开源WPF界面设计
以下为2022年收集的案例
2022年05月23日 新手引导(MVVM版本)
- 参考文章:WPF 简易新手引导
- 参考开源项目:AIStudio.Wpf.Controls

2022年05月20日 新手引导
- 参考文章:WPF 简易新手引导

2022年05月16日 登录界面5 界面设计

2022年05月14日 黑暗模式的钱包支付仪表盘界面设计
- 参考视频:C# WPF UI | How to Design Dark Mode Wallet Payment Dashboard in WPF
- 参考代码:WPF-Dark-Wallet-Payment
- 介绍文章:WPF|黑暗模式的钱包支付仪表盘界面设计

2022年05月11日 如何在 WPF 中设计漂亮的社交媒体信息仪表板
- 参考视频:C# WPF UI | How to Design Beautiful Social Media Info Dashboard in WPF
- 参考代码:WPF-Social-Media-Info-Dashboard
- 介绍文章:WPF|如何在 WPF 中设计漂亮的社交媒体信息仪表板

2022年05月10日 一个比较摩登的登录界面

以下为2022年之前的收集。
登录注册分类 1
- 简单登录窗体设计1
参考视频:C# WPF Material Design UI: Login Window
参考源码:Login2
<p align="center"> <img src="./assets/TestDemos/SimpleLoginView1.png"> </p> <p align="center">简单登录窗体设计1</p>- 简单登录窗体设计2
参考视频:C# WPF Material Design UI: Login Window
参考源码:Login1
<p align="center"> <img src="./assets/TestDemos/SimpleLoginView2.png"> </p> <p align="center">简单登录窗体设计2</p>- 美食应用登录
参考视频:WPF Food App Login UI Material Design [Speed Design]
<p align="center"> <img src="./assets/TestDemos/FoodAppLoginUI-zh_CN.gif"> </p> <p align="center">美食应用登录</p>菜单类 2
- 抽屉式菜单1
参考视频:C# WPF Material Design UI: Animated Colorful Navigation Drawer
参考源码:AnimatedColorfulMenu
<p align="center"> <img src="./assets/TestDemos/DrawerMenu.gif"> </p> <p align="center">抽屉式菜单1</p>- 抽屉式菜单2
参考视频:WPF - Navigation Drawer / Sidebar Menu | UI Design | C# |
参考源码:Navigation-Drawer-Sidebar-Menu-in-WPF
<p align="center"> <img src="./assets/TestDemos/NavigationDrawMenu.gif"> </p> <p align="center">抽屉式菜单2</p>- 菜单切换用户控件
参考视频:C# WPF Material Design UI: Fast Food Sales
参考源码:Pizzaria1
<p align="center"> <img src="./assets/TestDemos/MenuChange.gif"> </p> <p align="center">菜单切换用户控件</p>- 菜单切换动画
参考视频:C# WPF Material Design UI: Animated Menu
参考源码:AnimatedMenu1
<p align="center"> <img src="./assets/TestDemos/AnimatedMenu.gif"> </p> <p align="center">菜单切换用户控件</p>其他界面设计 3
- 移动应用仪表盘
参考视频:WPF Dashboard UI – Material Design [Speed Design]
参考源码:WPF-Dashboard-UI-Material-Design-Concept
<p align="center"> <img src="./assets/TestDemos/AppUsageDashboard.gif"> </p> <p align="center">移动应用仪表盘</p>- 简易仪表盘2
参考视频:WPF Dashboard UI – Material Design [Speed Design]
参考源码:WPF-Dashboard-UI-Material-Design-Concept
ECharts:pie-doughnut
<p align="center"> <img src="./assets/TestDemos/Dashboard2.gif"> </p> <p align="center">简易仪表盘2</p>- Instagram重新设计
参考视频:C# WPF Material Design UI: Redesign Instagram
参考源码:Instagram
<p align="center"> <img src="./assets/TestDemos/InstagramRedesign.gif"> </p> <p align="center">Instagram重新设计</p>- LoLGoal
参考视频:dotnet9
参考源码:dotnet9
<p align="center"> <img src="./assets/TestDemos/LolGoal.gif"> </p> <p align="center">LoLGoal</p>- 简易音乐播放器1
参考视频:C# WPF Material Design UI: Dashboard
参考源码:Dashboard
<p align="center"> <img src="./assets/TestDemos/MusicPlayer1.png"> </p> <p align="center">简易音乐播放器1</p>- 百度地图
- 聊天界面设计
参考视频:
- C# WPF Design UI – 1/3 – Contact List
- C# WPF Design UI – 2/3 – Profile
- C# WPF Design UI – 3/3 – Chat
参考源码:Chat
<p align="center"> <img src="./assets/TestDemos/ChatView.gif"> </p> <p align="center">聊天界面设计</p>- 计算器
参考视频:
<p align="center"> <img src="./assets/TestDemos/Calculator.gif"> </p> <p align="center">计算器</p>更新记录
2020-11-15 添加快捷应用:src\Tools\QuickApp
参考开源项目:
https://github.com/yanjinhuagood/SoftWareHelper
文章
https://www.cnblogs.com/yanjinhua/p/13896894.html
Dotnet9站点介绍文章:https://dotnet9.com/16722.html

功能:
- ☑菜单通过配置文件配置,因为操作系统可能装了太多应用,不需要全部加载。
后面计划改成sqlite数据库存储:
{
"IsPowerOn": true,
"MenuItemInfos": [
{
"FilePath": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
"IconPath": null,
"Name": "Google Chrome",
"Type": 0
},
{
"FilePath": "https://dotnet9.com/",
"IconPath": "logo.png",
"Name": "Dotnet9",
"Type": 1
},
{
"FilePath": "mstsc /v:192.168.1.133",
"IconPath": "shell.png",
"Name": "192.168.1.133",
"Type": 2
}
]
}
- ☑支持exe拖拽(或者系统生成的快捷方式拖拽)添加。
private void Grid_Drop(object sender, DragEventArgs e)
{
try
{
var fileName = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
MenuItemInfo menuItem = new MenuItemInfo() { FilePath = fileName };
// 快捷方式需要获取目标文件路径
if (fileName.ToLower().EndsWith("lnk"))
{
WshShell shell = new WshShell();
IWshShortcut wshShortcut = (IWshShortcut)shell.CreateShortcut(fileName);
menuItem.FilePath = wshShortcut.TargetPath;
}
ImageSource imageSource = SystemIcon.GetImageSource(true, menuItem.FilePath);
System.IO.FileInfo file = new System.IO.FileInfo(fileName);
if (string.IsNullOrWhiteSpace(file.Extension))
{
menuItem.Name = file.Name;
}
else
{
menuItem.Name = file.Name.Substring(0, file.Name.Length - file.Extension.Length);
}
menuItem.Type = MenuItemType.Exe;
if (ConfigHelper.AddNewMenuItem(menuItem))
{
var btn = AddMenuItem(menuItem);
fishButtons.Children.Add(bt
