- 博客(56)
- 收藏
- 关注
原创 Listbox DataTemplate
过数据模板让男性员工的名字显示成淡蓝色,女性的名字显示成淡绿色,其实就可以通过数据触发器来实现这样的功能。
2025-12-08 14:15:51
243
原创 ContentPresenter
ContentPresenter:主要用于 ControlTemplate 内部,作为内容的占位符。它更加轻量,通常不需要额外的样式或模板。ContentControl:是一个完整的控件,可以包含任意类型的内容,并且支持更多的属性(如 ContentTemplate 和 ContentTemplateSelector)。ContentControl 内部通常使用 ContentPresenter 来显示内容。
2025-10-10 11:16:44
315
原创 数据绑定DataContext
DataContext通常用于指定某一控件的默认数据上下文,会被该控件及其所有子控件继承和使用,如果几个控件需要绑定到同一个源,使用DataContext将更加简洁。Binding类的Source属性适合用于指定某个属性绑定的源对象,需要在每个控件上都显示指定绑定源、操作繁琐。通常情况下,一个UI元素(如一个窗口、控件等)只能有一个 DataContext。完全省略源,TextBox需修改Mode把TwoWay为OneWay。TextBlock控件的Mode默认为OneWay,可省略Mode。
2025-10-10 11:06:06
147
原创 datatemplate
ControlTemplate 和 DataTemplate 是两个非常重要的概念,它们分别用于定义控件的外观和数据对象的显示方式。TemplateBinding 用来绑定使用当前模板的控件的属性值</</
2025-10-10 10:58:36
414
原创 BeginInvoke和EndInvoke
BeginInvoke和EndInvoke是.NET Framework中提供的一对用于实现异步调用的方法。它们属于异步编程模型(APM),是早期.NET Framework中处理异步操作的标准方式。EndInvoke:获取异步操作的结果,如果操作尚未完成则阻塞直到完成.始终调用EndInvoke,以释放资源。BeginInvoke:启动异步操作并立即返回,不等待操作完成。
2025-09-30 10:50:58
122
原创 控件模板ControlTemplate
WPF包含数据模板和控件模板,其中控件模板又包括ControlTemplate和ItemsPanelTemplate。
2025-09-26 09:14:29
225
原创 异步套接字操作
在新的 System.Net.Sockets.Socket 类增强中,异步套接字操作由应用程序分配和维护的可重用 SocketAsyncEventArgs 对象描述。类 SocketAsyncEventArgs 是 类的一组增强的一部分,这些增强 System.Net.Sockets.Socket 功能提供可由专用的高性能套接字应用程序使用的替代异步模式。将上下文对象的属性设置为即将 (完成回调方法执行的操作、数据缓冲区、缓冲区中的偏移量以及要传输的最大数据量,例如)。可查询上下文属性获取操作结果。
2025-09-25 13:47:20
382
原创 BufferManager
用于创建单个大型缓冲区,该缓冲区可以拆分并分配给 SocketAsyncEventArgs 对象以用于每个套接字 I/O 操作。这样可以轻松重用缓冲区,并防止堆内存碎片化。
2025-09-25 13:44:19
163
原创 c#==数据库链接池(MySql)
SqlServer/MySql的的C#版本驱动中已经实现了数据库连接池,只需要在connectionString 中指定开启就可以使用。MySQL 连接池是一种优化数据库连接性能的机制,通过复用已有连接减少频繁创建和关闭连接的开销,从而提高系统效率和稳定性。
2025-09-25 11:18:00
234
原创 CXX==Auto关键字
在 C++11 及以后标准中,auto 是一个类型推导关键字,它可以让编译器在编译时自动推断变量的类型,而无需手动写出复杂的类型名。// ref 是 int&(引用)auto x = vec[0];// x 是 int(拷贝)
2025-09-11 14:48:54
202
原创 CXX==智能指针
在 C++ 中,智能指针(Smart Pointer) 是一种类模板对象,它像指针一样可以指向堆上(heap)的对象,但能自动管理内存,防止内存泄漏、悬空指针等问题。
2025-09-11 14:25:26
231
原创 为自定义文件类型设置默认图标
├── .myapp → 默认值 = “MyApp.Document”└── (默认) = “C:\MyApp\MyApp.exe” “%1”│ └── (默认) = “C:\MyApp\myapp.ico”
2025-08-26 11:02:22
481
原创 前置声明(Forward Declaration)
前置声明就是 只告诉编译器某个类型或函数存在,但不提供其完整定义// 类的前置声明// 结构体前置声明// 函数前置声明// 模板前置声明(有限制)
2025-08-25 15:31:26
295
原创 代码页(Code Page)
代码页(Code Page)是计算机系统中用于定义字符编码映射的表格,它将数字(通常是字节值)映射到特定字符。简单来说,代码页规定了“哪些数字代表哪些字符”。在多语言支持和国际化(i18n)背景下,代码页尤其重要,尤其是在处理非ASCII字符(如中文、日文、俄文等)时。
2025-08-25 14:25:12
1014
原创 位图 8位 16位 24位 32位是什么意思
图的 8位、16位、24位、32位 指的是图像中每个像素(pixel)所占用的 位数(bits),它决定了图像能表示多少种颜色以及是否支持透明度(Alpha 通道)。
2025-08-22 09:34:47
1268
原创 MFC-CListBox自绘
透明色设置为粉色,但图片中颜色为红色和黑色,此时红色和黑色均不呈现透明。透明色设置为图片对应的红色和黑色,此时, 黑色和红色已不显示,呈现透明。注意:这里图片使用的是 24位 depth 位图。== ListBox属性设置 ==
2025-08-22 09:28:28
316
原创 位图LockBits作用
它避免了使用 GetPixel 和 SetPixel 这种逐像素操作的低效方式,特别适用于需要高性能图像处理(如滤镜、灰度化、边缘检测等)的场景。LockBits 是在 Windows GDI+ 或 .NET 图像处理中常用的一个方法,用于高效地访问和修改位图(Bitmap)的像素数据。LockBits 方法将位图像素数据从非托管内存锁定到系统内存中,返回一个指向内存地址的指针,允许你直接读写像素数据。使用 LockBits + 指针操作,比 GetPixel/SetPixel 快 几十甚至上百倍。
2025-08-18 17:14:59
172
原创 my dump
Windows下Dump文件分为两大类,内核模式Dump和用户模式Dump。内核模式Dump是操作系统创建的崩溃转储,最经典的就是系统蓝屏,这时候会自动创建内核模式的Dump。用户模式Dump进一步可以分为完整Dump(Full Dump)和迷你Dump(Minidump)。完整Dump包含了某个进程完整的地址空间数据,以及许多用于调试的信息,而Minidump则有许多类型,根据需要可以包含不同的信息,有的可能只包含某个线程和部分模块的信息。在程序开发过程中出现的应用崩溃属于用户模式Dump。
2025-08-18 15:31:22
222
原创 visual studio 链接指定的.obj文件
在 Visual Studio 中链接指定的 .obj 文件,这里将介绍如何在 Visual Studio 的项目设置中手动添加 .obj 文件。
2025-05-08 10:51:26
425
原创 原型模式-javascript
每个函数都会创建一个prototype 属性,这个属性是一个对象,使用原型对象的好处是,在它上面定义的属性和方法可以被对象实例共享。原来在构造函数中直接赋给对象实例的值,可以直接赋值给它们的原型.
2025-02-19 14:47:50
1376
原创 WebView2.NavigateToString引用js文件
需求:使用WebView2.NavigateToString(htmlContent)加载html时同时加载js文件NavigateToString(htmlContent)加载html时,不能通过文件加载。即这样的方式加载。
2025-02-18 14:08:42
259
原创 VS用户控件修改后,旧的引用不更新问题
问题描术:如图,用户控件,设置背景色为绿色在FormCloseButton.cs中将背景色改为红色,重新生成编译发现问题:旧的用户控件仍为绿色,未更新为红色,新拖的控件为红色。
2025-01-26 14:16:02
188
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅