0 有用
2 下载

基于MVVM+View 2D、3D的模板应用

文件列表(压缩包大小 77.24M)

免费

概述

项目由来 一款通用的PC端模板,包括医疗系统,工业控件,教育,会涉及到比较多的2D,3D图像,可能会涉及到算法,便于以后快速开发,之前也写过一些自定义控件和视图,现在正好用到这个项目模板中。

项目介绍 WPFCoreUniversalApp是从零开始,基于. NetCore31,采用MVVM模式,目前连接的是Mysql数据库,准备分为两大块:医疗(Medical),工业(Factory),其中包含UserControl,CustomControl,Animation,2D,ViewPor3D,日志记录Excel文档交互二维码控件手写的ORMIOC权限认证和管理等等。 另外有一些常用的控件桌面自定义控件(基于.Net Core3.1),比如二维码控件(配置即可生成想要的任意二维码),MessageDialog(弹窗提示View)等。

  • UI布局------------------------------√
  • 窗口开启和关闭动画(2D和3D)-----√
  • 用户注册和修改---------------------√
  • 在我身上--------------------------------√
  • 国际奥委会----------------------------------√
  • 数据加密(MD5、DES)----------------√
  • MedicalReport界面布局--------------------√
  • 用户身份校验-----------------------×
  • 权限分配和管理----------------------×
  • 日志文件-----------------------------×
  • Excel文档交互------------------------√
  • 图形(折线、曲线、饼图、柱状图等)----------√
  • 软件自动更新------------------------√

登陆效果图(2D/3D):

登陆界面切换3D动画核心代码如下:

<!--3D动画-->
<userCtl:LoginAnimation3DControl Grid.ColumnSpan="2" Visibility="Visible"/>

<!--如果你不想要3D动画,可以选择这个,-->
<Grid Grid.ColumnSpan="2" Visibility="Collapsed">
    <!--用户登录-->
    <userCtl:LoginControl x:Name="Login"
        Visibility="{Binding UserOperationType,Converter={StaticResource LoginRegisterVisibilityConverter},ConverterParameter=Login}"/>

    <!--用户注册-->
    <userCtl:RegisterControl x:Name="Register" 
        Visibility="{Binding UserOperationType,Converter={StaticResource LoginRegisterVisibilityConverter},ConverterParameter=Register}"/>

    <!--忘记密码-->
    <userCtl:ForgotPasswordControl x:Name="ForgotPassword" 
        Visibility="{Binding UserOperationType,Converter={StaticResource LoginRegisterVisibilityConverter},ConverterParameter=ForgotPassword}"/>
</Grid>

医疗报告系统效果图(布局完成,功能模块一部分)

  • 查看、登记、编辑、刷新、删除-----------------√
  • Excel模板、 导入、导出(Excel、Word)--------------------------√
  • 诊断-------------------------------------------------√
  • 数据转PDF,XML,Json-----------------------------×
  • 转为图形统计(2D、3D)-----------------------------√

诊断可实现图片轮播浏览,还可以查看360度全景详细图片

3D图像平面切割效果(可任意角度去切割三维图形) 以下示范立方体的,原理如下:假设平面内有一定点P(0)(该点也在三维图形空间内),过定点P0的法向量为P(n),设该平面的任意一点坐标为P(x,y,z),则通过法向量垂直平面即可求出平面方程,若P(0)=(0,0,0),则切平面方程为: P(n). Xx + P(n). Yy + P(n). Zz = 0,若P(0)非原点,可通过在y轴上平移得到切平面方程式,即必存在一个常量N满足P(n). Xx + P(n). Yy + P(n). Zz + N = 0(即为切平面方程通用公式)。 设切平面与XY轴面的夹角α[0,π],切平面旋转的角度β[0,2π],最后我推导得到切平面通用用方程表达式如下(先计算过原点的,之后可通过平移得到):

图表控件(图像理论上可绘制达1000万个点)

最后 由于这样做会出现开发太慢而且很累的问题(需要写动画效果,控件逻辑等),所以可以通过引入了第三方控件开解决这个问题,具体看管理包。 另外我把3D球体和圆柱体的推导方法放在了~/DesktopUniversalFrame/Entity/ArithmeticInfer下面,感兴趣的可以看看,其它像正方体、长方体的建模就比较简单了,不会的可以自己查资料,微软官方文档也有说明,弄清楚原理再去画3D就非常简单了,借助第三方控件就更容易点,后面有时间的话把动画在Xaml和后台的写法单独弄一块,学会这些就可以做出很炫丽的可视化界面了。

转载自https://github.com/chancezheng/WPFCoreUniversalApp

理工酷提示:

如果遇到文件不能下载或其他产品问题,请添加管理员微信:ligongku001,并备注:产品反馈

评论(0)

0/250