- 博客(39)
- 资源 (10)
- 问答 (2)
- 收藏
- 关注
原创 分享一个把表格类型的数据转换成字符串,以表格样式输出,方便控制台和日志记录时更直观
调用实例:Console.WriteLine("Hello, World!");List<string[]> tabLog = new List<string[]>();tabLog.Add(new string[] { "编号", "姓名", "性别", "年龄","备注" });tabLog.Add(new string[] { "1", "张三", "男", "12","这个地方的数据可能很长" });tabLog.Add(new string[] { "
2024-12-20 15:35:57
452
原创 记录一个常用的一个整型,存储多个值,利用16进制,或、与运算
场景是这样的,对象属性仅只有一个int的扩展字段,新建字段改动太大,所有需要糅合再一个字段里面标示多个属性...0001 00000010 000016进制长这样...所以可以利用位来标记不通的属性,还有他们常说的高4位和低4位,例如上面,高4位就是0001,低4位就是0000假如:高4位的第一位(顺序是从右到左)是1的话,代表北京,依次第二位是1的话代表重庆,依次第三位是1的话代表烤鸭,依次第四位代表火锅转换成值对应就是:北京:16, 0001 0000重庆:32, 001..
2022-01-12 15:26:39
407
原创 有的时候,需要程序跑起来附加调试,备份一下辅助方式
/// <summary> /// 辅助类 /// </summary> public class HostHelper { /// <summary> /// 尝试附加到托管调试器并断言在当前堆栈运行位置。 /// <para> /// 仅在DEBUG编译条件下生效。 /// </para> /// </...
2021-09-30 09:57:18
128
原创 备份一个http请求,用的比较多的POST json数据
var data = new object[] { new { sn = SN, mac = Mac } }; var jobj = await Task.Run(() => { try { using (HttpClient client = new HttpClient()) { .
2021-09-29 18:09:57
187
原创 备注一下,SolidColorBrush,自定义颜色
new SolidColorBrush((Color)ColorConverter.ConvertFromString("#27212B"));
2021-09-16 10:12:51
937
原创 某些时候命令绑定可能会存在刷新不及时,往往需要点击一次程序才能激活,特此记录下解决方案
某些时候命令绑定可能会存在刷新不及时,往往需要点击一次程序才能激活,特此记录下解决方案System.Windows.Input.CommandManager.InvalidateRequerySuggested();
2021-08-13 09:42:30
140
原创 c#几种场景获取程序运行目录
控制台、app等桌面应用程序(兼容系统自启)System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName)web BS架构System.AppDomain.CurrentDomain.BaseDirectory
2021-07-16 10:10:11
124
原创 wpf 控件绑定鼠标命令、键盘命令
<Window x:Class="CommandDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" ...
2021-07-15 10:47:38
1280
原创 并发特别高的时候,随机数的种子生成
/// <summary> /// 获取随机数种子 /// </summary> /// <returns></returns> private int GetRandomSeed() { byte[] seedBuffer = Guid.NewGuid().ToByteArray(); return BitCon...
2021-07-13 17:16:24
111
原创 适用于LixtBox的,开启UI虚拟化时,某些时候需要定位到还没加载的项,比如自动选中某项,视图自动移过去等等
/// <summary> /// 将指定父级的下级索引元素,显示在视野下,使其可见 /// </summary> /// <param name="control">父级</param> /// <param name="i">需要可见的子集索引</param> private void BringIndexIntoView(ItemsC...
2021-06-24 10:02:18
115
原创 验证控件是否重叠,获取重叠部分
某些时候,需要验证控件之间是否存在重叠的情况,可以借助System.Windows.Rect.IntersectsWith来验证;如果需要获取重叠的部分,则使用System.Windows.Rect.Intersect来实现!
2021-06-16 09:51:33
557
原创 MVVM绑定 填坑,必须在与 DependencyObject 相同的线程上创建 DependencySource
场景:线程里面构建MVVM实体类,实体类包含Brush属性时,构建SolidColorBrush需要UI线程,否则会报“必须在与 DependencyObject 相同的线程上创建 DependencySource”MVVM实体类using System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using System.Text;using System.Thr...
2021-03-22 17:59:41
4934
6
原创 备份一个迭代查找TreeViewItem的辅助函数
private TreeViewItem FindTreeItem(TreeViewItem item, Func<TreeViewItem, bool> compare) { if (item == null) { return null; } var pd = compare?.Invoke(item);//执行比较 if .
2021-03-12 15:04:42
118
原创 备份一个集合分组的算法
/// <summary> /// 集合分组 /// </summary> /// <param name="array">需要分组的集合</param> /// <param name="size">每个分组的大小</param> /// <returns></returns> public sta...
2021-03-05 18:58:50
124
原创 备份一个有的时候,可能需要把其它exe或者dll包含在主程序中....
1、选中附件,右键生成操作选择 签入的资源,例如:handle.exe2、FileUtilusing System.IO;using System.Reflection;namespace ResourceOccupancyHelp{ public class FileUtil { /// <summary> /// 从资源文件中抽取资源文件 /// </summary> /// &.
2021-03-04 16:07:15
118
3
原创 wpf 代码判断当前是否在设计模式,兼容没有UI线程的限制
/// <summary> /// 当前是否处于设计模式 /// </summary> bool IsInDesignMode { get { return (bool)DesignerProperties.IsInDesignModeProperty .GetMeta...
2021-02-24 15:28:30
339
原创 wpf 打开输入法、禁用输入法
<StackPanel Margin="10"> <TextBox Text="默认"></TextBox> <TextBox InputMethod.PreferredImeState="On" InputMethod.PreferredImeConversionMode="Native" Text="打开输入法"/> <TextBox InputMethod.PreferredImeState="Of.
2021-01-22 17:20:17
1807
原创 c#实现 正弦sin、反正弦arcsin,正切tan、反正切arctan:求角度值
#region 三角函数和反三角函数using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Messaging;using System.Net.Sockets;using System.Text;using System.Threading;using System.Threading.Tasks;using System.Xml.Linq;names.
2021-01-08 16:30:25
5505
原创 记录一个仿Windows10加载动画
<UserControl x:Class="Zhaoxi.Controls.Loading" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org...
2020-10-23 14:48:24
278
原创 记录一个闪烁,跳动,光圈的动画
<Window x:Class="WpfApp3.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" ...
2020-07-23 10:13:25
210
原创 添加右键上下文菜单后,点击后需要获取到源控件
添加右键上下文菜单后,点击后需要获取到源控件private void MenuItem_Click(object sender, RoutedEventArgs e) { if (sender is MenuItem item && item.Parent is ContextMenu menu && //获取ContextMenu menu.PlacementTar
2020-07-02 16:47:43
268
原创 NPOI,给指定的excle创建个下拉框验证
NPOI,给指定的excle创建个下拉框验证先大致看下效果吧Nuget 搜索 NPOI,一般出来的第一个就是,安装NPOI基础环境using NPOI.HSSF.UserModel;using NPOI.OpenXmlFormats.Spreadsheet;using NPOI.SS.UserModel;using NPOI.SS.Util;using NPOI.XSSF.UserModel;using System;using System.Collections.Gen..
2020-05-09 10:33:16
410
原创 有的时候,给指定的控件,追加一个装饰器Adorner,备注下
有的时候,给指定的控件,追加一个装饰器Adorner,备注下比如给某个图片加个工具条等等...都可以采用装饰器的方式来实现,复用性高,易维护,特此备注下整体效果如下:<Window x:Class="AdornerDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pres...
2020-05-06 17:06:11
173
原创 备份一个 VirtualizingWrapPanel ,支持虚拟化
using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.ComponentModel;using System.Diagnostics;using System.Linq;using System.Windows;using System.Wind...
2020-04-24 17:39:24
318
原创 控件进程化,32位程序做大内存消耗时存在内存不够用时,特此记录解决方案,控件进程化,模块进程化
控件进程化,32位程序做大内存消化时存在内存不够用时,特此记录解决方案,控件进程化,模块进程化...前端时间公司做了图片视频分析处理的项目,图片支持4k,6k甚至勉强支持8k;因为处理的方式很多,各模块之前不能切换后销毁,用户需要来回切换的,针对这个问题,每个模块都会加载图片,图片过大后程序内存告急,且程序是32位的,即使开启了大内存的支持依然不是很好的解决,内存占用过高很容易被360告警,所...
2020-04-24 14:25:48
525
原创 还有的时候,会遇到DataGrid里面嵌套DataGrid(重叠嵌套),然后里面的鼠标滚轮无法响应外面的滚动,为此记录下解决方案
与上一篇区别在于,详情里面的模板通常是通用的,被定义在样式文件中,被重复使用,因此无法为其添加后台代码,如果能添加后台代码,请查看第一篇;所以需要用到命令的方式来辅助事件的抛出,当然还可以利用第三方库Prism,他可以把事件当命令传递,且能传递事件的默认参数,详情请参阅这篇文章;好了,下面开始介绍,扩展DataGrid类,通过自定义命令抛出事件,并传递事件参数...先请大致看下运行效果:...
2020-04-23 16:29:24
353
原创 有的时候,会遇到DataGrid里面嵌套DataGrid(重叠嵌套),然后里面的鼠标滚轮无法响应外面的滚动,为此记录下解决方案
有点时候,会遇到DataGrid里面嵌套DataGrid(重叠嵌套),然后里面的鼠标滚轮无法响应外面的滚动,为此记录下解决方案本实例是在DataGrid的详情行里再嵌入一个DataGrid,模拟重叠的情况,先看下效果,当然效果是不理想的再看下优化的效果,可见效果明显,如果您有更优越的方式请勿喷,本人能力有限,也是参照网上的,特此整理下:好了,效果看完,我主要说明下:原理...
2020-04-21 15:34:26
1152
原创 有的时候,需要利用UserControl占位模板,动态替换的情况,绑定后无法获取DataContext的问题
有点时候,需要利用UserControl占位模板,动态替换的情况,绑定后无法获取DataContext的问题,特此备注下效果如下:关键的地方是,下面第3行,需要把当前的上下文传递到Content,生成绑定的ContentTemplate才能获取到绑定在UserControl的DataContext<Style TargetType="UserControl"> ...
2020-04-17 15:13:50
671
原创 有的时候,可能会继承基础样式,利用BasedOn="{StaticResource {x:Type TextBlock}}"
有的时候,可能会继承基础样式,利用BasedOn="{StaticResource {x:Type TextBlock}}"<Window x:Class="Demo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://...
2020-04-17 14:21:57
420
原创 多线程,队列,先进先出、信号量...
某些场景并发量太高,需要采用队列辅助,特此备注:多线程队列,先进先出/* 例子: //初始化后台处理消息线程 AsyncQueueDataProcessor<string> asyncQueueDetector = new AsyncQueueDataProcessor<string>(); asyncQueueDetector.Proces...
2020-04-09 09:24:08
302
原创 wpf,前端动画demo,鱼眼效果
如题,鱼眼。特此备注下<Window x:Class="WpfApp2.Window3" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xm...
2020-04-08 17:34:06
332
原创 自定义控件,重写 TextBox 实例
项目中可能会遇到重写控件的情况,特此记录下:<Window x:Class="WpfApp6.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml...
2020-04-08 13:47:43
394
原创 TextBox输入法控制,进入输入框则启用或禁用输入法(ime),禁用后只能输入英文
有的场景需要禁止用户打开ime模式(禁止输入法输入),所以TextBox 支持默认属性配置,效果如下:<Window x:Class="切换输入法.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas...
2020-04-01 17:42:51
739
原创 Canvas上批量创建可视对象(DrawingVisual)管理,获取鼠标悬浮图形状态,并控制鼠标右键快捷菜单等...
近期公司有个新的定制,先简要说明下:窗口上有个播放区域,区域上悬浮了很多可视对象(DrawingVisual),全部是动态生成的....现在的需求是在这些矩形框上需要添加右键快捷菜单...需求知道了,懂wpf的都知道,DrawingVisual是极其简约的一个视图对象,是没有属性可以帮到鼠标右键菜单,所以我的思路是,在Canvas上绑定快捷菜单,通过鼠标位置判断当前是否在矩形框里...
2020-03-19 11:46:19
799
原创 MVVM_UI和逻辑分离(事件利用命令替换),命令代替事件,命令传递事件参数,附完整demo
近期公司重构了些界面,因为换肤和界面定制的缘故,需要把样式和逻辑分开;所以记录下关键的操作;主要是利用命令代替事件...<Window x:Class="Demo_MVVM.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http...
2020-03-19 10:50:53
350
原创 画线缩放、瞳距缩放、Line延长到指定长度,内附效果,源码供应,解压就跑
前言公司项目需要做个画线缩放,我司称之为瞳距缩放,简而言之就是:2张图,从第一张图画一条线,再从第二个图画一条线,第二条线以第一条为基准,延长到一致的长度,并同比缩放图片;文字太枯燥,请先实例图例子1:以皮卡丘为例,我要把路飞的拳头缩放到皮卡丘头那么大例子2:以皮卡丘的基准,缩小路飞,与其身高一致好了,相比看了上面的2个效果图,就明白了大致意思,这个demo可以获得,...
2019-12-13 11:52:32
308
原创 linux,发布.netcore填坑,自动升级core版本后,运行报错:'Microsoft.AspNetCore.App', version '3.0.0' was not found.
近来有点空,所以研究下,netcore这个神器~ 号称跨平台的利器,从此net不在局限于windows服务器了,早点该多好呀,这样我们net程序员,不香吗?网上搜,‘netcore 发布liunx’文章很多,照着弄就是了,只是用云安装的模式,会有个大坑!下面细说vs2019 netcore3.0 编译的web工程,调试一切正常,发布成可移植的类型一步步搭建liu...
2019-11-26 16:11:13
3695
原创 wpf 模拟抖音很火的罗盘时钟,附源码,解压就能跑
wpf 模拟抖音很火的罗盘时钟,附源码,解压就能跑 前端时间突然发现,抖音火了个壁纸,就是黑底蕾丝~~~ 错错错,黑底白字的罗盘时钟! 作为程序员的我,也觉得很新颖,所以想空了研究下,这不,空下来了就用wpf,写个属于.net自己的罗盘时钟,目前只实现了时分秒,农历日期等逻辑都是一样的,所以就略了,有兴趣的朋友,可以继续深入! 最开始想直接弄成成exe,方便拷贝,到处...
2019-05-10 18:15:48
21434
10
wpf控件进程化,32位程序做大内存消耗时存在内存不够用,特此记录解决方案,控件进程化,模块进程化
2020-04-24
2.0DataGrid嵌套DataGrid,里面的鼠标滚动响应到外部,利用自定义命令传递滚轮事件参数实现
2020-04-23
MVVM_UI和逻辑分离(事件利用命令替换),命令代替事件,命令传递事件参数,附完整demo
2020-04-23
DataGrid里面嵌套DataGrid(重叠嵌套),鼠标滚动优化方案
2020-04-21
Canvas上批量创建可视对象(DrawingVisual)管理,获取鼠标悬浮图形状态,并控制鼠标右键快捷菜单等...
2020-03-19
MVVM_UI和逻辑分离(事件利用命令替换),并实现模板切换等...
2020-03-19
画线缩放、瞳距缩放、Line延长到指定长度、PupilDistanceDemo.zip
2019-12-13
wpf 模拟抖音很火的罗盘时钟,附源码,解压就能跑
2019-05-10
航空信息管理系统(c#窗体)
2013-10-22
出色模拟射击《雷电》javascript,jquery
2013-10-22
程序如何获取座机的来电号码?
2016-04-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人