21 Star 154 Fork 45

沙漠尽头的狼(dotnet9.com) / TerminalMACS.ManagerForWPF

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

TerminalMACS

注意: 此项目只用于存放一些测试代码,逐渐沦为一个大杂烩仓库,请谨慎star。

  1. 刚开始的规划是做一个多平台的监控开源项目,做着做着就变成一个demo集合项目了。
  2. 不定期的更新.NET最新版本,目前是 .NET 7,不做历史版本保留,抱歉。
  3. 现在此项目的目标只是做学习和积累。

0. 简介

一个使用 Prism 作为模块化框架、基于多个开源控件库作为UI控件选择、集成开源 UI 界面设计的 .NET 7 WPF 客户端项目。

1. 特性

  • 使用 .NET 7 开发,体验最新 .NET 平台

.NET是免费,跨平台,开源的,用于构建所有应用的开发人员平台。

  • 基于 Prism 8 搭建模块化框架,方便程序扩展

Prism为程序设计提供指导,旨在帮助用户更加容易的设计和构建丰富、灵活、易于维护WPF桌面应用程序。Prism使用设计模式(如MVVM,复合视图,事件聚合器),帮助你创建一个松耦合的程序。遵循这些设计模式原则,将目标程序解耦成独立的模块。这些类型的应用程序被称为复合应用程序。

  • 已使用或即将使用到多个开源WPF控件库

多种开源 WPF UI 库选择,开发 WPF 项目更方便:MaterialDesignInXamlToolkitHandyControlPanuonUI.SilverAduSkin

  • ECharts

ECharts:pie-doughnut

  • 本地化支持

  • 动态国际化支持

  • 支持主题色动态切换

2. 支持环境

  • .NET 7.0。
  • Visual Studio 2022

3. 当前版本

0.1

4. 链接

官方网站

5. 项目界面截图

5.1. 关于

关于TerminalMACS

5.2. 首页模块

5.3. 服务端模块

5.4. 客户端模块

5.5. 测试案例

收集全球优秀的开源WPF界面设计

以下为2022年收集的案例

2022年05月23日 新手引导(MVVM版本)

2022年05月20日 新手引导

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

2022年05月14日 黑暗模式的钱包支付仪表盘界面设计

2022年05月11日 如何在 WPF 中设计漂亮的社交媒体信息仪表板

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


以下为2022年之前的收集。

登录注册分类 1

  1. 简单登录窗体设计1

参考视频:C# WPF Material Design UI: Login Window

参考源码:Login2

简单登录窗体设计1

  1. 简单登录窗体设计2

参考视频:C# WPF Material Design UI: Login Window

参考源码:Login1

简单登录窗体设计2

  1. 美食应用登录

参考视频:WPF Food App Login UI Material Design [Speed Design]

美食应用登录

菜单类 2

  1. 抽屉式菜单1

参考视频:C# WPF Material Design UI: Animated Colorful Navigation Drawer

参考源码:AnimatedColorfulMenu

抽屉式菜单1

  1. 抽屉式菜单2

参考视频:WPF - Navigation Drawer / Sidebar Menu | UI Design | C# |

参考源码:Navigation-Drawer-Sidebar-Menu-in-WPF

抽屉式菜单2

  1. 菜单切换用户控件

参考视频:C# WPF Material Design UI: Fast Food Sales

参考源码:Pizzaria1

菜单切换用户控件

  1. 菜单切换动画

参考视频:C# WPF Material Design UI: Animated Menu

参考源码:AnimatedMenu1

菜单切换用户控件

其他界面设计 3

  1. 移动应用仪表盘

参考视频:WPF Dashboard UI – Material Design [Speed Design]

参考源码:WPF-Dashboard-UI-Material-Design-Concept

移动应用仪表盘

  1. 简易仪表盘2

参考视频:WPF Dashboard UI – Material Design [Speed Design]

参考源码:WPF-Dashboard-UI-Material-Design-Concept

ECharts:pie-doughnut

简易仪表盘2

  1. Instagram重新设计

参考视频:C# WPF Material Design UI: Redesign Instagram

参考源码:Instagram

Instagram重新设计

  1. LoLGoal

参考视频:dotnet9

参考源码:dotnet9

LoLGoal

  1. 简易音乐播放器1

参考视频:C# WPF Material Design UI: Dashboard

参考源码:Dashboard

简易音乐播放器1

  1. 百度地图

百度地图

  1. 聊天界面设计

参考视频:

参考源码:Chat

聊天界面设计

  1. 计算器

参考视频:

计算器

更新记录

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

快捷应用

功能:

  1. ☑菜单通过配置文件配置,因为操作系统可能装了太多应用,不需要全部加载。

后面计划改成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
    }
  ]
}
  1. ☑支持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(btn);
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

private void Grid_DragEnter(object sender, DragEventArgs e)
{
    if (e.Data.GetDataPresent(DataFormats.FileDrop))
    {
        e.Effects = DragDropEffects.Link;
    }
    else
    {
        e.Effects = DragDropEffects.None;
    }
}
{
  "FilePath": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
  "IconPath": null,
  "Name": "Google Chrome",
  "Type": 0
}
  1. ☑支持网址配置(点击打开指定网址,类似网页收藏快捷方式)。
{
  "FilePath": "https://dotnet9.com/",
  "IconPath": "logo.png",
  "Name": "Dotnet9",
  "Type": 1
}
 else if (menuItem.Type == MenuItemType.Web)
{
    Process.Start(new ProcessStartInfo("cmd", $"/c start {menuItem.FilePath}")
    {
        UseShellExecute = false,
        CreateNoWindow = true
    });
}
  1. ☑支持cmd命令配置(比如系统应用mstsc,远程桌面配置目标IP及端口,一键打开连接等)
{
  "FilePath": "mstsc /v:192.168.1.133",
  "IconPath": "shell.png",
  "Name": "192.168.1.133",
  "Type": 2
}
else if( menuItem.Type == MenuItemType.Cmd)
{
    Process p = new Process();
    p.StartInfo.FileName = "cmd";
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.RedirectStandardInput = true;
    p.StartInfo.RedirectStandardOutput = true;
    p.StartInfo.RedirectStandardError = true;
    p.StartInfo.CreateNoWindow = true;
    p.Start();

    p.StandardInput.WriteLine($"{menuItem.FilePath} &exit");
    p.StandardInput.AutoFlush = true;
    p.WaitForExit();
    p.Close();
}
  1. ☒提供界面配置菜单
  2. ☒显示图标与文字 ...更多想法还在想

2020-11-16 添加DotNetty服务端与客户端:src\Tools\NettyTest

公司项目有使用到DotNetty与java端Netty项目通信,所以花时间整了这个demo,打算一直维护下去。

功能:

  • 服务端和客户端都采用 C# + WPF开发

空文件

简介

一个使用 Prism 作为模块化框架、基于多个开源控件库作为UI控件选择、集成开源 UI 界面设计的 .NET 5 WPF 客户端项目。 展开 收起
JavaScript 等 4 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/dotnet9/TerminalMACS.ManagerForWPF.git
git@gitee.com:dotnet9/TerminalMACS.ManagerForWPF.git
dotnet9
TerminalMACS.ManagerForWPF
TerminalMACS.ManagerForWPF
master

搜索帮助