通过C#代码进行数据绑定在使用C#代码进行数据绑定之前,要绑定的数据需要具有通知变更的能力,因此它需要继承自INotifyPropertyChanged并实现PropertyChanged接口
例如我们需要将一个TextBox的值与Class1的name属性绑定,我们可以这么做
首先在Class1中定义相关属性并实现接口
1234567891011121314151617181920212223242526272829// Class1.csusing System;using System.Collections.Generic;using System.Collections.Specialized;using System.ComponentModel;using System.Linq;using System.Text;using System.Threading.Tasks;namespace WpfApp1{ //继承INotifyPropertyChanged类 class Class1 : INotifyPropertyChanged ...
WPF笔记
未读前言先说一下这一系列的文章是笔记而不是教程,毕竟我也是刚刚接触这一方面的知识,写这些的目的一是为了加强我对相关知识的巩固,二就是方便以后进行查阅,这次的WPF我是根据https://www.wpfsoft.com/introduction 这个网站进行学习的,我也在网上找了一下相关的视频资料发现大部分都比较老了或是断更了,OK,接下来进入正文
布局GRID布局在WPF中的grid布局其实和前端的grid布局差不多,都是将一块空间按照行和列的方式进行分割,然后再指定子元素的所在位置,在WPF中的布局需要写在xaml文件中,在VS 2022所创建的WPF项目中默认就使用了grid布局,在window标签下只可以有一个子元素,一般就是布局元素,只需要在window标签写便可以实现grid布局
基础用法123<Grid>...</Grid>
但是这样所添加的子元素默认会占满Grid元素的全空间,可以通过ZIndex调整它们的显示顺序,而要解决这种情况我们就需要定义行和列,在WPF中我们通过如下代码定义行和列
123456789101112<Grid ShowGr ...
关于中考 就在不久之前我已经结束了我人生中的第一场大考,而就在七月二日我也得到了我的成绩703.5/790 虽然大部分科目发挥的还可以但是语文和政治却发挥的比较差,毕竟这次备考的时间不长而我之前也没有及时巩固知识点也就导致了这次政治考试时有一些知识点并不知道而且这次全省统一命题题型也比较活但是我们学校又没有组织模拟考(只有一次)所以在遇到某些题型的时候就不知道怎么去思考,这个分数虽然没有达到一中的统招线但是指标生的名额应该是可以拿到的,毕竟在乡镇教育资源本来就比较差,我也希望如果我考上了理想的高中可以遇到更多志同道合的人一起研究编程,关于中考就先说这么多吧,接下来我就说说我已经做了和计划做的一些事情
Mangovid 这是我这几天时间写出来的一个视频下载软件,是yt-dlp的一个GUI,本来是计划使用python相关的一些技术栈进行编写的,因为yt-dlp本身就是使用python进行编写的并且提供了python的库,但后来由于种种原因我使用了tauri+vue3+flask进行编写,使用flask是因为我对rust不够熟悉,但是使用web技术开发桌面应用总是感觉不得劲,于 ...
Hexo
未读我的博客说说使用的是Heo大大的即刻短文静态部署版,也就是这个文章
引用站外地址
Hexo的Butterfly魔改教程:即刻短文静态部署版
owen0o0
但是有一个问题就是,每次写一个说说都要写yaml文件,一不小心还会有语法错误,就很麻烦,所以我就想着用VsCode的代码片段来解决这个问题,关于代码片段大家可以看一下这篇文章,我这里就不多赘述了
引用站外地址
VSCode 利用 Snippets 设置超实用的代码块
owen0o0
在这之前配置代码片段之前推荐大家安装一个VsCode插件,可以提供yaml的自动补全和错误提示,也可以帮助我们提高写说说的效率
安装完成之后只要在yaml ...
今天来介绍一下Tauri的自动更新,其实还是很方便的只要写一点配置就可以了,首先我们先给不了解Tauri的朋友介绍一下
Tauri介绍Tauri 是一个跨平台 GUI 框架,与 Electron 的思想基本类似。Tauri 的前端实现也是基于 Web 系列语言,Tauri 的后端使用 Rust。Tauri 可以创建体积更小、运行更快、更加安全的跨平台桌面应用。
由于使用Rust作为后端语言所以安全性是无与伦比的,然后因为调用系统自带的webview2,空打包体积可以缩小到600k
配置介绍Tauri内置了一个updater只需要在tauri.config.json中添加如下配置项就可以实现自动更新
12345678910111213"tauri": {//你的其它配置 "updater": { "active": true, "dialog": true, "endpoints": [], "pubkey" ...
Dns测速软件重构完成了,顺便增加了一点功能
介绍 一款用于进行DNS测速和DNS污染检测的小工具,目前内置了122个常用DNS,支持MacOS,Windows,Linux三端,并支持自动更新,使用Tauri+Vue3进行开发,体积小巧约10M左右(Windows端) 由于本软件基于Tauri开发,所以系统应拥有webview2运行时,一般系统都有,如果打不开软件的话可以尝试进行安装 https://developer.microsoft.com/zh-cn/microsoft-edge/webview2
运行截图
下载地址https://github.com/Kukaina/DnsTools/releases/打不开的自行寻找解决方案,可以使用Github的网络加速器,相关内容请自行搜索
更新日志V1.0.3.240209_beta Now修复头像无法显示的Bug
V1.0.2.240209_beta优化表格显示,调整字体
V1.0.1.240209_beta增加MacOS,以及Linux支持,并添加自动更新功能
V1.0.0.240208_beta使用tauri进行重构并完成基础功 ...
原因及结果这天我正在用NaiveUI的Menu组件,试图进行路由跳转官方的方法是将其渲染成routerLink,如下
12345678910111213141516const menuOptions = [ { label: () => h( RouterLink, { to: { name: 'home', params: { lang: 'zh-CN' } } }, { default: () => '回家' } ), key: 'go-back-home'}]
但得到的结果却是一片空白
解决方法解决方式就是使用NMenu提供的on-update:valueAPI写一个回调函 ...
最近在启动Tauri项目的时候报错
12345678910error when starting dev server:Error: listen EACCES: permission denied ::1:1420 at Server.setupListenHandle [as _listen2] (node:net:1855:21) at listenInCluster (node:net:1920:12) at GetAddrInfoReqWrap.doListen [as callback] (node:net:2069:7) at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:109:8)error Command failed with exit code 1.info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. Error The "beforeDev ...
报错原因我最近在做一个Dns测速软件,目前为止它长这样
而问题就出现在这里,这个进度条
我想实现的效果是每测试完一个IP就自动更新Progress,代码是这样写到(最后几行)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758void DnsSpeedTester::RunPing(int num) { int rowCount = model->rowCount(); QMutex mutex; // 用于保护对 model 的访问的互斥锁 QList<QFuture<void>> futures; // 用于跟踪并发任务的 futures for (int row = 0; row < rowCount; ++row) { QFuture<void> future = QtConcurrent::run([= ...