C#
花咔咔
这个作者很懒,什么都没留下…
展开
-
C# 如何动态更新ListBox值,并右键弹出删除菜单
也就是把BingdingSource 作为ListBox和Properties.Settings.Default.testlist 中间部件。关键的部分是使用BindingSource bs = new BindingSource();原创 2023-09-20 21:14:18 · 613 阅读 · 0 评论 -
WPF Prism 给新开的窗口传值
其它的地方基本一致,包括按钮需要绑定的语句,和之前一样。看了很多关于prism传值的文章,都是基于region 的,而我的项目里面是需要打开一个新的窗口,不是嵌套在主窗口中的usercontrol,而是一个window。首先还是用到prism的view和viewmodel,但是把xaml 文件里的语句设为false, 也就是不进行自动绑定view和viewModel.view的title 和标签的内容可以进行绑定。通常的情况下,是需要注册页面view的,这里也不进行注册,下面的不用写。原创 2023-01-20 11:26:16 · 1177 阅读 · 1 评论 -
WPF 使用Prism中如何打开一个或者多个新的窗体
第四步:在主模块里面调用。我这里实现了当主窗体尺寸发生变化的时候,子窗体不会消失并且停留在主窗体的左下角。用同样的办法就可以打开更多的窗口,暂时还没有设计窗口传值的问题。第三步:viewmodel文件的内容。第二步:在xml文件里面自动绑定,也就是。第一步:要注册页面和相应的模块。原创 2023-01-18 16:12:19 · 2000 阅读 · 0 评论 -
WPF中如何实现在datagrid中点击列头实现整列选中(一)
第三步:如果你的列不长,我的是256行,上面的代码基本可以工作了。比如可见行是20行,而实际你的数据表的行数超过20,它就会找不到TextBlock。这个方法的简便之处在于,在datagrid中寻找某一列的所有内容,因为它最终都是一个TextBlock,然后把这个TextBlock的parent的找到,也就是cell了。SelectAllColumn,当然你也可以直接在上面的方法里面写,这样界面简洁一点。第一步:找到点击的列头,这里重写列的排序方法,来确定列号。第四步:如果不想用第三步,因为比较慢。原创 2023-01-05 14:59:00 · 1355 阅读 · 0 评论 -
C# WPF 如何利用LiveChart绘制一个直方图
最重要的步骤是直方图的处理。先定义一个用来显示X轴标签的字符串List。再定义一个用来绘制图形的ChartValues cv。最后呈现的结果如下,当然还可以对一些细节进行处理,比如柱子之间的间距,再画一条曲线等等。在正常使用时可以把原始数据用正常的数据替代随机产生的数据。这里后台的数据准备完毕。再来看看前台的代码。绑定一个Labels到x轴,数据绑定到Series即可。这些数据在后台已经准备完毕。首先我们要定义一个集合,这个集合seriesCollection 会被绑定到后台稍后会用到。原创 2022-12-30 08:21:29 · 1440 阅读 · 1 评论 -
C#如何开启Thread 并更新主界面控件
Thread开始后是无法更新主界面的控件的,比如下面这样会报错的。刚开始是要timer来更新界面的,结果发现运行了一个晚上,第二天看界面有比较明显的卡顿现象,而且,界面上的时间显示也是每两秒显示一次。所以用Thread来替代timer,效果还是比较明显。再运行一个晚上试试。我的项目是要出来设备的数据,100毫秒产生一次数据用LiveChart来显示。必须写成这样才行,另外,需要让线程停止的时候使用isThreadStart = false 就可以了。原创 2022-12-27 10:45:00 · 494 阅读 · 0 评论 -
C# 如何判断一个bool数组全部是true或者false
如何判断一个bool数组全部是true或者false。原创 2022-12-23 09:06:08 · 2008 阅读 · 1 评论 -
C# 使用System.data.sqlite用ExecuteScalar的方式返回新插入的id
在C#中使用System.data.salite来管理数据库,如果想要得到新插入值的id,可以用下面的方式来获取:原创 2022-12-23 09:01:00 · 906 阅读 · 0 评论