前言:
最近在学B站的WPF项目实战合集(2022终结版),但是到22P时候发现UI框架 MaterialDesignThemes的Github上面的程序没办法正常运行,最后折腾了好久终于解决。
github地址
gitcode镜像地址
下载成功后
下载成功后是如下效果
打开这个文件
MaterialDesignToolkit.Wpf.slnf
选择这个Demo
运行报错
下载.NET Framework 4.6.2
下载之后要重启电脑
如果运行失败,可以试一下最新版的NET Framework 4.8.1.我两个都下了,不知道是哪个有用
NET Framework 历史版本下载地址
点击运行
我之前以为选择Net6.0-windows就可以了,没想到要全套安装一遍。
运行成功
官方解释
github官方解释
原文
The NuGet package are backwards compatible and can be used in any WPF application (targeting .NET Framework 4.6.2 or later) with any version of Visual Studio. If you wish to compile the library from source it will REQUIRE Visual Studio 2022 (version 17.4 or later; C# 11 compiler is required) with .NET 7.0.100 SDK or later installed. You will need to ensure that you have enabled the .NET desktop development workflow from the Visual Studio Installer. Finally, due to the various projects in the main solution you will need to ensure that you have the .NET Framework 4.6.2 and 4.7.2 SDKs installed. The easiest way to do this is to open the Visual Studio Installer and select Modify. From there select the “Individual components” tab at the top and select the “.NET Framework 4.6.2 targeting pack” and the “.NET Framework 4.7.2 targeting pack”.
The main project is contained within the MaterialDesignToolkit.Wpf.slnf file located at the root of the repository. This is the file you want to open in Visual Studio.
Launch Visual Studio and set the startup project to be Demos\MaterialDesignDemo, compile and run (or simply press F5).
简单来说
- 你如果要运行net 7.0 框架下的程序,确保自己有这个环境
- 要运行桌面程序要确保你已经安装了.NET Framework 4.6.2 和 4.7.2。不管你运行哪个框架下的程序
- 选择Demos\MaterialDesignDemo,这个文件进行运行。
打包好的项目
如果实在是没法配置好环境,可以使用官方提供的打包的项目包
github地址打包项目下载
选择下载文件
下载成功后进入Release文件夹
随便运行一个项目
项目成功运行
可以点击附近的"</>"按钮来查看具体的文件样式:
最后
由于WPF技术在国内实在太过冷门,国内基本很难找到对应的解决方案。要么知难而退,要么去翻墙查找解决方案。
互联网发展,WebUi增长和桌面软件的式微。我建议学WPF也掌握其他前端的知识,扩展自己的技术栈。学的不用太多,会Vue和uniapp简单写个页面,发起个后端请求即可,其实就学个Vue就可以了。技术栈推荐
- Vue - Element ui(UI框架)- Echarts (统计图)
- uniapp - uView (UI框架)- uChart (统计图)
其实不是很难学,都是成熟的技术和成熟的框架。如果走全栈,就不要怕,都学,不用学很深,能用就行。
版权归原作者 龙中舞王 所有, 如有侵权,请联系我们删除。