CPF 入门教程(一)
CPF netcore跨平台UI框架
开发之前,你需要先安装VS2019。为什么要vs2019?因为VS2019才能支持netcore3.0以上,netcore3.0之后才能发布独立的程序,之前的都只能是控制台。
安装好vs2019之后,到cpf官网下载(http://cpf.cskin.net/)cpf的案例源码包和开发者工具。先打开开发者工具压缩包,
安装VS插件。
插件安装好之后,把开发者工具包里的开发者工具文件解压到你的程序安装目录。 打开vs,第一次打开,会提示配置开发者工具的路径,找到刚才解压出来的 DeveloperTools.exe 选中设置。
现在可以打开cpf的案例源码了,下载和解压案例源码,打开项目,
 先右键窗体或者控件,设置打开方式为CpfEditor为默认

设置好了之后,可以双击打开窗体或者控件。 现在会自动打开开发者工具,点击免费模式。然后可以把主界面关闭,会最小化到托盘。



正常启动开发者工具之后,会显示已连接开发者工具。现在刷新设计器或者重新打开设计器界面,就可以看到界面预览效果了。
开发的时候,下面可以修改代码,按Ctrl S,保存,自动刷新界面
用来格式化 InitializeComponent 方法内部的代码结构的,VS暂时不支持那种多层嵌套的UI结构代码

写代码的一些注意事项,
一般是推荐UI和业务逻辑分开的,不过很多时候为了省事,会混到一起。所以写的时候要注意,有些代码不能在预览的时候运行,你需要判断一下
if (!DesignMode)//设计模式下不执行
            {
}
#if !DesignMode
#endif
两种方式来排除特殊代码
如果设计视图崩了,你可以选择刷新或者重新打开设计器
安装插件之后,你可以新建CPF的项目,根据自己的需求,选择。 创建项目之后,你需要先生成一下,才能打开设计器。


修改CSS之后,需要生成一次,再刷新设计器,才能看到效果。
更新cpf的dll版本,可以打开nuget管理,那边选择更新或者编辑csproj文件里nuget引用的dll版本

最新模仿ElementUI的皮肤效果

CPF 入门教程(一)的更多相关文章
- CPF 入门教程 - 数据绑定和命令绑定(二)
		
CPF netcore跨平台UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) 数据绑定和Wpf类似,支持双向绑定.数据绑定和命令绑定是UI和业务逻辑分离的基础 ...
 - CPF 入门教程 - 样式和动画(三)
		
CPF NetCore跨平台UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) 用样式可以对内部元素进行批量设置属性. ...
 - CPF 入门教程 - 绘图(四)
		
CPF NetCore跨平台UI框架,增加了Vlc支持跨平台播放视频. 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF ...
 - CPF 入门教程 - 控件布局(六)
		
CPF netcore跨平台桌面UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF 入门教程 - 绘图(四) C ...
 - CPF 入门教程 - 设计器和模板库的使用(五)
		
CPF netcore跨平台UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF 入门教程 - 绘图(四) CPF ...
 - CPF 入门教程 - 属性和事件(七)
		
CPF C#跨平台桌面UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF 入门教程 - 绘图(四) CPF 入门 ...
 - CPF 入门教程 - 各个控件介绍(八)
		
CPF C#跨平台桌面UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF 入门教程 - 绘图(四) CPF 入门 ...
 - CPF 入门教程 - 各平台各系统发布说明(九)
		
CPF C#跨平台桌面UI框架,支持Windows,Mac,Linux,支持龙芯.飞腾等CPU 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - ...
 - wepack+sass+vue 入门教程(三)
		
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
 
随机推荐
- Spring声明式事务快速上手
			
1.什么是事务 首先我们要知道什么是事务.知其然,才能知其所以然. 事务(Transaction)是一个业务,是一个不可分割的逻辑工作单元,基于事务可以更好的保证业务的正确性. 这么说可能有点难以理解 ...
 - p73_万维网和HTTP协议
			
一.URL形式 URL不区分大小写 <协议>://<主机>:<端口>/<路径> 二.HTTP协议 HTTP协议定义了浏览器(万维网客户进程)怎样向万维网 ...
 - Codeforces1379-题解
			
很久以前,申蛤申请了一个cf号叫 wzxakioi 有一天,戌蛤带着申蛤用这个账号打了一场div3,然后它的rating超过了shzr 之后申蛤又用这个号打了三场div2,于是 CF1379C 题意 ...
 - VIM的常用快捷方式(尽量简洁,删去能组合实现的且不易记的)
			
vi可以分为三种状态,分别是一般模式.编辑模式和命令行模式 1一般模式:以vi打开一个文件就直接进入一般模式了(这是默认的模式).在这个模式中, 你可以使用上下左右按键来移动光标,你可以使用删除字符或 ...
 - Python延迟初始化(lazy property)
			
转自:https://blog.csdn.net/azsx02/article/details/77649527 Python 对象的延迟初始化是指,当它第一次被创建时才进行初始化,或者保存第一次创建 ...
 - nginx里的变量,实现简单过滤。
			
1,nginx内置变量 nginx 有很多内置变量可以进行简单的过滤. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...
 - JS控制语句及小练习
			
一.控制语句 判断: ①if() {} ; if(){}else{} ; if(){}else if{};…… ② switch(){ case "": break; } 循环: ...
 - 解释Crypto模块,No module named "Crypto"
			
1.pip install pycryptodome 2.Python\Python38\Lib\site-packages,找到这个路径,下面有一个文件夹叫做crypto,将小写c改成大写C就ok了 ...
 - Mybatis开启二级缓存(全局缓存)的方法
			
Mybatis开启二级缓存的方法 开启步骤 1.在 mybatis-config.xml 的配置文件中进行显示配置,开启二级缓存(全局缓存) 2.在 Mapper.xml 文件中添加cache标签 一 ...
 - JS中Math.random()的使用和扩展
			
Math.random()方法返回大于等于 0 小于 1 的一个随机数.对于某些站点来说,这个方法非常实用,因为可以利用它来随机显示一些名人名言和新闻事件. 在连续整数中取得一个随机数 值 = Mat ...