dotnet html 桌面开发,用HTML,Vue+element-UI做桌面UI

dskin封装的webui开发模式开发桌面应用,使用vue很方便。使用起来有点像wpf

下面用 element-ui 做个简单的例子。

运行效果;可以自己根据需求改布局效果。

bb6a6265425b3cb44f1fc4af6b385908.png

主框架的element-ui 模板代码

class="el-menu-demo"

mode="horizontal"

@select="handleselect"

background-color="#545c64"

text-color="#fff"

active-text-color="#ffd04b">

dskin webui开发

我的工作台

选项1

选项2

选项3

选项4

选项1

选项2

选项3

消息中心

订单管理

0

1

r

class="el-menu-vertical-demo"

background-color="#545c64"

text-color="#fff"

active-text-color="#ffd04b">

导航一

按钮

表单

表格

选项4

选项1

导航二

导航三

导航四

其中  activeindex 是模板中定义的一个属性, handleselect 是select事件绑定的方法,我们可以直接在c#中定义这两个,它会自动绑定过来。不需要手动写js来new 一个vue对象绑定,这些在dskin中自动完成了的。

//这个c#代码相当于 js的 var page=new vue({el:"#page",data:{ activeindex:"1",},methods:{handleselect(a,b,c){ }}});

public class mainframe : dskin.forms.miniblinkpage

{

string _activeindex = "1";

public string activeindex

{

get { return _activeindex; }

set { onpropertychanged(value, ref _activeindex); }

}

[jsfunction]

public void handleselect(string a, jsvalue b, jsvalue c)

{

}

}

右下角的内容,我采用的是iframe框架页面来做,这样做方便c#绑定以及 业务逻辑分离到单独c#类中。

简单的表格添加数据的例子

添加数据

其中有一个添加数据的按钮,点击按钮会添加一行数据到表格中

public class table : miniblinkpage

{

public table()

{

data.add(new data { date = "sdaf", name = "dgsda", address = "hfdgdsfa" });

data.add(new data { date = "sdaf测试", name = "dgsda", address = "hfdgdsfa" });

}

miniblinkcollection data;

//模板中绑定的数据

public miniblinkcollection data

{

get

{

if (data == null)

{

data = new miniblinkcollection(this);

}

return data;

}

}

[jsfunction]//按钮调用的添加数据的方法,点击按钮添加一行,同时会更新ui显示出来

public void adddata()

{

data.add(new data { date = "测试数据", name = "3sda", address = "gdsa" });

data.savechanges();

}

}

public class data

{

public string date { get; set; }

public string name { get; set; }

public string address { get; set; }

}

运行效果

077bbca891ed4bba69e75eb51f009898.png

总体来说还是很简单,很方便的,有丰富的前端资源,可以快速开发出自己想要的效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
0 info it worked if it ends with ok 1 verbose cli [ 1 verbose cli 'C:\\Program Files\\nodejs\\node.exe', 1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli 'run', 1 verbose cli 'dev' 1 verbose cli ] 2 info using npm@6.14.16 3 info using node@v12.22.12 4 verbose run-script [ 'predev', 'dev', 'postdev' ] 5 info lifecycle vue-element-admin@4.4.0~predev: vue-element-admin@4.4.0 6 info lifecycle vue-element-admin@4.4.0~dev: vue-element-admin@4.4.0 7 verbose lifecycle vue-element-admin@4.4.0~dev: unsafe-perm in lifecycle true 8 verbose lifecycle vue-element-admin@4.4.0~dev: PATH: C:\Users\zhongke_imzzx\AppData\Roaming\nvm\v12.22.12\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\zhongke_imzzx\Desktop\新建文件夹\lianxi_ceshi\PJC_jiaqiang\PJC_jiaqiang\node_modules\.bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Git\cmd;C:\Users\zhongke_imzzx\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\allDownload\tortoiseGit\TortoiseGit_dir\bin;C:\Users\zhongke_imzzx\AppData\Local\Microsoft\WindowsApps;C:\Users\zhongke_imzzx\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\zhongke_imzzx\AppData\Roaming\nvm;C:\Program Files\nodejs; 9 verbose lifecycle vue-element-admin@4.4.0~dev: CWD: C:\Users\zhongke_imzzx\Desktop\新建文件夹\lianxi_ceshi\PJC_jiaqiang\PJC_jiaqiang 10 silly lifecycle vue-element-admin@4.4.0~dev: Args: [ '/d /s /c', 'vue-cli-service serve' ] 11 silly lifecycle vue-element-admin@4.4.0~dev: Returned: code: 1 signal: null 12 info lifecycle vue-element-admin@4.4.0~dev: Failed to exec dev script 13 verbose stack Error: vue-element-admin@4.4.0 dev: `vue-cli-service serve` 13 verbose stack Exit status 1 13 verbose stack at EventEmitter.<anonymous> (C:\Users\zhongke_imzzx\AppData\Roaming\nvm\v12.22.12\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16) 13 verbose stack at EventEmitter.emit (events.js:314:20) 13 verbose stack at ChildProcess.<anonymous> (C:\Users\zhongke_imzzx\AppData\Roaming\nvm\v12.22.12\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14) 13 verbose stack at ChildProcess.emit (events.js:314:20) 13 verbose stack at maybeClose (internal/child_process.js:1022:16) 13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:287:5) 14 verbose pkgid vue-element-admin@4.4.0 15 verbose cwd C:\Users\zhongke_imzzx\Desktop\新建文件夹\lianxi_ceshi\PJC_jiaqiang\PJC_jiaqiang 16 verbose Windows_NT 10.0.22621 17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "dev" 18 verbose node v12.22.12 19 verbose npm v6.14.16 20 error code ELIFECYCLE 21 error errno 1 22 error vue-element-admin@4.4.0 dev: `vue-cli-service serve` 22 error Exit status 1 23 error Failed at the vue-element-admin@4.4.0 dev script. 23 error This is probably not a problem with npm. There is likely additional logging output above. 24 verbose exit [ 1, true ]
07-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值