WPF仿网易云搭建笔记(7):HandyControl重构

文章目录

  • 专栏和Gitee仓库
  • 前言
    • 相关文章
  • 新建项目
    • 项目环境
    • 项目结构
  • 代码结果
  • 结尾

专栏和Gitee仓库

WPF仿网易云 Gitee仓库

WPF仿网易云 CSDN博客专栏

前言

最近我发现Material Design UI的功能比较简单,想实现一些比较简单的功能,比如消息提示,发现还是需要额外的代码。写起来相对来说还是比较麻烦的。

HandyControl相对来说就简单多了,本身提供了80多个控件,基本大部分功能都能实现

相关文章

WPF-UI HandyControl 简单介绍

WPF Icon矢量库 MahApps.Metro.IconPacks

WPF 基于TableControl的页面切换

WPF-UI HandyControl 控件简单实战

新建项目

在这里插入图片描述
与上次项目的区别:

  • 去掉了Prism架构,因为我发现不需要Prism
  • 去掉了Material Design UI,使用HandyControl+MahApps.Metro.IconPacks替换

项目环境

  • Visual Studio 2022
  • .net core 8.0
  • Nuget
    • Bogus:模拟数据
    • CoommunityToolkit.Mvvm:WPF工具类
    • HandyControl:WPF UI
    • MahApps.Metro.IconPacks.Material:WPF 矢量Icon
    • Microsoft.Extensions.DependencyInject:微软Ioc容器
    • Newtonsoft.Json:Json序列化工具
    • Nlog:日志
    • SqlSugarCore:ORM 数据库框架
      在这里插入图片描述

项目结构

  • Models:实体类
  • Resources:资源
  • Styles:资源字典
  • Utils:方法类
  • ViewModels:视图逻辑
  • View:视图类

在这里插入图片描述

WPF 更改StartupUri方式

修改一些StartupUri

在这里插入图片描述
在这里插入图片描述

代码结果

跟前面文章差不多,就是用HandyControl重构了。我就只放演示结果好了。具体看我Github仓库就行了。

在这里插入图片描述

结尾

我写起来实在是没啥意思,网易云的功能太多了,光是UI效果我一个人估计就要画半天,音乐播放等功能就有点懒得写了。我也有个Halcon+WPF 联合开发的课,那边也不能拉下。这个就先放弃好了,我后面会开始去学习Halcon的基础编程代码,后面不排除学Python+OpenCV。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/233636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018年第七届数学建模国际赛小美赛C题共享单车对城市交通的影响解题全过程文档及程序

2018年第七届数学建模国际赛小美赛 C题 共享单车对城市交通的影响 原题再现: 共享自行车改变了许多城市的交通状况,许多大城市引入共享自行车来解决交通问题。我们需要定量评估共享自行车对城市交通的影响,以及相关的经济、社会和环境影响。…

node.js mongoose中间件(middleware)

目录 简介 定义模型 注册中间件 创建doc实例,并进行增删改查 方法名和注册的中间件名相匹配 执行结果 分析 错误处理中间件 手动抛出错误 注意点 简介 在mongoose中,中间件是一种允许在执行数据库操作前(pre)或后&…

算法设计与分析2023秋-头歌实验-实验七 动态规划

文章目录 第1关:数塔问题任务描述相关知识编程要求解题思路测试说明参考答案 第2关:最长公共子序列任务描述相关知识编程要求解题思路:测试说明参考答案 第3关:求序列-2 11 -4 13 -5 -2的最大子段和任务描述相关知识编程要求解题思…

docker 在线安装redis

1、远程仓库拉取redis镜像, docker pull redis,默认拉取最新版本 2、在本地宿主机文件夹下创建相关目录文件,供容器卷使用,创建 /usr/local/data/redisdocker/data 文件夹,准备一个纯净版 redis.conf 配置文件 &#x…

jdk 线程池与 tomcat 线程池对比

一、线程池的作用 1. 提高性能:线程的创建需要开辟虚拟机栈、本地方法栈、程序计数器等线程私有空间,同时也会一比一的创建一个内核线程,在线程销毁时需要回收这些系统资源。频繁地创建和销毁线程会大大浪费系统资源,这时候就需要…

【3D数据读取】利用JAVA读取GLB(GLTF)文件数据

了解GLB和GLTF: GLB和GLTF是用于共享3D数据的标准化文件格式。GLB是GLTF的二进制格式,而GLTF基于JSON,一种基于文本的数据格式。 GLB文件: 由一个头部和一个二进制数据块组成。头部包含文件的元数据,例如文件版本、文件…

【C语言】数据结构——链式二叉树实例探究

💗个人主页💗 ⭐个人专栏——数据结构学习⭐ 💫点击关注🤩一起学习C语言💯💫 导读: 我们在前面学习了单链表,顺序表,栈和队列,小堆。 今天我们来学习链式二叉…

MATLAB 主成分分析PCA拟合平面点云 (42)

MATLAB 主成分分析PCA拟合平面点云 (42) 一、算法介绍二、算法实现一、算法介绍 主成分分析(Principal Component Analysis,PCA)是一种常用的数据降维和特征提取技术。它的主要思想是通过线性变换将数据投影到一个新的坐标系,使得在新的坐标系中数据的方差最大化。在3D点…

java读取含有合并单元格的Excel

java读取含有合并单元格的Excel Excel如下: import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.*;import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.…

springboot学习笔记(二)

1.Spring 和SpringBoot区别 2.Web开发入门 3.MVC模型 4.RequestMapping用法 5.RESTful 1.Spring 和SpringBoot区别 参考: 大家都懂Spring和SpringBoot的区别吗? - 知乎 https://www.zhihu.com/question/598494506/answer/3018702101 在学习了Spri…

Opencv实验合集——实验四:图片融合

1.概念 图像融合是将两个或多个图像结合在一起,创建一个新的图像的过程。这个过程的目标通常是通过合并图像的信息来获得比单个图像更全面、更有信息量的结果。图像融合可以在许多领域中应用,包括计算机视觉、遥感、医学图像处理等。 融合的方法有很多…

Docker 核心技术

Docker 定义:于 Linux 内核的 Cgroup,Namespace,以及 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术,由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器Docke…

系统设计架构——互联网案例

Netflix 的技术栈 移动和网络:Netflix 采用 Swift 和 Kotlin 来构建原生移动应用。对于其 Web 应用程序,它使用 React。 前端/服务器通信:Netflix 使用 GraphQL。 后端服务:Netflix 依赖 ZUUL、Eureka、Spring Boot 框架和其他技术。 数据库:Netflix 使用 EV 缓存、Cas…

关于“Python”的核心知识点整理大全25

目录 10.3.4 else 代码块、 10.3.5 处理 FileNotFoundError 异常 alice.py 在这个示例中,try代码块引发FileNotFoundError异常,因此Python找出与该错误匹配的 except代码块,并运行其中的代码。最终的结果是显示一条友好的错误消息&#x…

云计算:FusionCompute 通过 FreeNAS 添加SAN存储

目录 一、实验 1.环境准备 2.FusionCompute添加CNA 3.在存储中创建LUN资源映射给CNA节点 3.添加存储资源关联CNA主机节点 4.扫描存储资源 5.将存储设备添加为数据存储 二、问题 1.FusionCompute中存储如何分类 2.存储资源与存储设备有何区别 3.FusionCompute支持哪些…

线上环境如何正确配置 Django 的 DEBUG?

Author:rab Django Version:3.2 Python Version:3.9 目录 前言一、DEBUG True二、DEBUG False三、页面异常解决总结 前言 由于最近在学习 Django 的知识,于是尝试开发了一套 Blog 系统,在本地测试时是页面显示没问题…

零刻EQ12 N100 2.5G双网口 All In One新手教程

零刻EQ12 N100 2.5G双网口 All In One新手教程 前言1.硬件配置2.准备工作2.1. ESXI8.0U2镜像2.2. Rufus磁盘工具下载2.3. ikuai镜像下载2.4. StarWindConverter虚拟磁盘格式转换工具下载2.5. OpenWrt镜像下载2.6. 黑群晖RR引导镜像下载(DSM7.2)2.7. 需要准备的硬件2.8. 格式化需…

【ArcGIS微课1000例】0081:ArcGIS指北针乱码解决方案

问题描述: ArcGIS软件在作图模式下插入指北针,出现指北针乱码,如下图所示: 问题解决 下载并安装字体(配套实验数据包0081.rar中获取)即可解决该问题。 正常的指北针选择器: 专栏介绍&#xff…

【复杂网络分析与可视化】——通过CSV文件导入Gephi进行社交网络可视化

目录 一、Gephi介绍 二、导入CSV文件构建网络 三、图片输出 一、Gephi介绍 Gephi具有强大的网络分析功能,可以进行各种网络度量,如度中心性、接近中心性、介数中心性等。它还支持社区检测算法,可以帮助用户发现网络中的群组和社区结构。此…

设计模式——0前言目录

1 设计模式介绍 应当站在产品经理的角度来学习设计模式 是软件设计中常见问题的典型解决方案,可用于解决代码中反复出现的设计问题 学习效果一般的原因在于自己没有站在产品经理的角度学习,仅仅是为了学习怎么实现,用什么算法实现。 分类&…