<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>bigbosscyb的博客</title>
    <link>https://blog.939826.xyz/</link>
    <description>bigbosscyb 的个人技术博客:记录后端开发、Cloudflare Workers、Vue 3、数据库与工程实践,分享可复现的实现细节和踩坑记录。</description>
    <language>zh-CN</language>
    <lastBuildDate>Sat, 26 Sep 2026 01:31:39 GMT</lastBuildDate>
    <atom:link href="https://blog.939826.xyz/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>开启BBR</title>
      <link>https://blog.939826.xyz/posts/281</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/281</guid>
      <pubDate>Sat, 26 Sep 2026 01:30:21 GMT</pubDate>
      <description>BBR提升网络连接体验 检查是否开启过 如果返回net.ipv4.tcp_congestion_control = bbr表示已经开启,否则就是没开启 检查是否支持 什么也不输出就表示支持,如果不支持就会显示报错信息 设置 检查是否开启 显示下面两行信息就表示启用成功了 net.ipv4.tcp_congestion_control = bbr 和 tcp_bbr 20480 1 参考文章:在 U…</description>
    </item>
    <item>
      <title>figma mcp怎么开启</title>
      <link>https://blog.939826.xyz/posts/280</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/280</guid>
      <pubDate>Fri, 25 Sep 2026 06:03:17 GMT</pubDate>
      <description>让ai想帮你把mcp服务搞好 下载figma客户端 打开搜索框输入mcp 启用mcp</description>
    </item>
    <item>
      <title>什么是UIFreeze</title>
      <link>https://blog.939826.xyz/posts/279</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/279</guid>
      <pubDate>Fri, 18 Sep 2026 03:11:39 GMT</pubDate>
      <description>主ui线程发生的调用怎么被判定成冻结 问: 明明在main ui线程上有111ms的耗时,为什么不把TopBtn_Click(Object, RoutedEventArgs) 调用 认为成Uifreeze? AI回答: 这是因为 dotTrace 的 UI Freeze 检测阈值默认是 200ms。 111ms 虽然在主线程上执行，但没有达到 200ms 的门槛，所以不会被标记为 UI Freez…</description>
    </item>
    <item>
      <title>重写虚拟化面板</title>
      <link>https://blog.939826.xyz/posts/278</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/278</guid>
      <pubDate>Tue, 15 Sep 2026 00:17:26 GMT</pubDate>
      <description>代码参考自:https://github.com/digimezzo/WPFControls/blob/master/Digimezzo.WPFControls/VirtualizingWrapPanel.cs 完整代码:</description>
    </item>
    <item>
      <title>DotTrace pdb加速</title>
      <link>https://blog.939826.xyz/posts/277</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/277</guid>
      <pubDate>Wed, 02 Sep 2026 07:13:20 GMT</pubDate>
      <description>微软的符号服务器速度太慢 使用镜像站加速 注意把镜像站放第一位,微软官方的那个做保底就行,胆子大点可以只保留第一行 注意AppData\Local\Symbols别放到tmp路径下,防止被系统清理 dottrace卡在加载某个dll的符号 许久不动 到C:\Users\你的用户名\AppData\Local\Symbols路径下,看看符号是否真的没有下载成功; 别死等,不行就自己下载;把DotTr…</description>
    </item>
    <item>
      <title>wpf FontWeight</title>
      <link>https://blog.939826.xyz/posts/276</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/276</guid>
      <pubDate>Tue, 18 Aug 2026 07:27:33 GMT</pubDate>
      <description>wpf 中 fontweight 单词与数字对应关系 通过设置宽度，界面展示不同的样式。</description>
    </item>
    <item>
      <title>Rider 在vs中可以构建成功但是在rider中不行</title>
      <link>https://blog.939826.xyz/posts/275</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/275</guid>
      <pubDate>Thu, 13 Aug 2026 03:00:24 GMT</pubDate>
      <description>背景 前段时间分支B上删除了某个项目,最近我切换到分支B;使用Rider编译不通过了.但是我跑到visual stuido中可以编译通过. 咨询AI ai给出的答案是:让rider的缓存失效.</description>
    </item>
    <item>
      <title>MobaXterm 如何新建ssh连接</title>
      <link>https://blog.939826.xyz/posts/273</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/273</guid>
      <pubDate>Mon, 10 Aug 2026 23:15:55 GMT</pubDate>
      <description>如何使用ssh客户端进行远程连接配置</description>
    </item>
    <item>
      <title>sqlite常用命令</title>
      <link>https://blog.939826.xyz/posts/272</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/272</guid>
      <pubDate>Sat, 08 Aug 2026 12:01:32 GMT</pubDate>
      <description>如何查看sqlite中有什么表 如何查看某个表的表结构 增删改查语句 分页查询 语法select 列1,列2,列3,..[列n] from 表名 where 条件;也可以用简洁一点的语法select from 表名; 练习: 对于大数据集利用id这个键集,做分页能提高性能. 修改语句 语法update 表名 set 列1=值1,列2=值2 where 条件; 咱们不学删除语句😀,咱们只用软删除~…</description>
    </item>
    <item>
      <title>测试用例如何编写</title>
      <link>https://blog.939826.xyz/posts/271</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/271</guid>
      <pubDate>Tue, 04 Aug 2026 16:00:00 GMT</pubDate>
      <description>边界值法 密码格式要在2-8位之间 边界值就是在这个范围边缘 如密码1位 2位 8位 9位 等价类法 如密码格式要在2-8位之间 有效等价类 有效等价就是在2-8位之间 无效等价类 无效等价就是空值 1位 9位及以上 安全相关 如用户敏感信息,密码 sql注入等; 经典的sql注入 在用户名框里输入 hahaha' OR 1=1 -- 性能相关 如模拟并发数量 弱网条件等 对于接口测试来说 直接将…</description>
    </item>
    <item>
      <title>Jmeter 使用笔记</title>
      <link>https://blog.939826.xyz/posts/270</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/270</guid>
      <pubDate>Sat, 25 Jul 2026 16:00:00 GMT</pubDate>
      <description>jmeter安装与配置 1.jdk安装 (Jmeter安装部署依赖 java环境 所以得安装JDK) 2.jdk环境变量配置 (JDK安装完成后，需要配置环境变量。虚拟机中 win+r 输入sysdm.cpl回车就能找到系统属性的窗口--＞环境变量设置 3.验证java环境 4.jmeter下载--&gt;jmeter安装(JMeter安装只需将安装包解压至本地即可，但本地需要有对应的JDK环境,前面已…</description>
    </item>
    <item>
      <title>正则表达式 速记三个字符</title>
      <link>https://blog.939826.xyz/posts/269</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/269</guid>
      <pubDate>Mon, 20 Jul 2026 16:00:00 GMT</pubDate>
      <description>点:向后匹配一个任意字符 星:向前匹配0个或多个 问:向前匹配0个或1个</description>
    </item>
    <item>
      <title>Postman 使用笔记</title>
      <link>https://blog.939826.xyz/posts/268</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/268</guid>
      <pubDate>Sat, 18 Jul 2026 16:00:00 GMT</pubDate>
      <description>接口要素 在用Postman前,需要知道接口一些要素,有这个基础知识,进行接口测试才会得心应手: 当我不知道某个功能对应的接口是什么? 如果是网页:F12--&gt;切换到网络页签 再次点击按钮 触发接口调用 从而抓到数据包 如果是客户端的话 需要用到fiddler进行抓包 怎么看参数和负载? 参数 指的是url中?号后面的东西 负载指的是:请求体 body 和 请求参数 即 要发送给接口的 动态变化的…</description>
    </item>
    <item>
      <title>Fiddler 使用笔记</title>
      <link>https://blog.939826.xyz/posts/267</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/267</guid>
      <pubDate>Fri, 17 Jul 2026 16:00:00 GMT</pubDate>
      <description>Fiddler与浏览器中F12看网络请求的区别: 如果是本机浏览器,其实浏览器按下F12就可以看到请求和响应; 但当我们要抓不跑在浏览器里的程序时:Fiddler就派上用场了. 原理:代理--拦截; fiddler能作为系统代理,这样所有的http请求都会经过fiddler了--请求记录都会在fiddler上看到;另外,我们可以通过fiddler,拦截一些请求,修改请求内容或响应内容. 关于代理…</description>
    </item>
    <item>
      <title>avalonia ReactiveUI mvvm框架使用笔记</title>
      <link>https://blog.939826.xyz/posts/266</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/266</guid>
      <pubDate>Fri, 10 Jul 2026 16:00:00 GMT</pubDate>
      <description>一个简单的登录: 输入账号,密码;点击登录时进行输入校验,校验不成功显示错误信息;登录过程中登录按钮不可用,显示登录中...</description>
    </item>
    <item>
      <title>ubuntu 同花顺avalonia版程序打不开</title>
      <link>https://blog.939826.xyz/posts/265</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/265</guid>
      <pubDate>Sat, 13 Jun 2026 16:00:00 GMT</pubDate>
      <description>安装同花顺linux版app,发现打不开;统信uos没有这个问题; 这是 通常是缺少关键运行库 No usable version of libssl was found。这表示同花顺依赖于旧版的 libssl1.0.0 库，而较新的 Ubuntu 22.04 和 24.04 已不再预装。 解决办法: 对于Ubuntu 22.04及以上版本 然后就可以完美运行了.</description>
    </item>
    <item>
      <title>使用工具对进程进行内存压测</title>
      <link>https://blog.939826.xyz/posts/264</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/264</guid>
      <pubDate>Mon, 08 Jun 2026 16:00:00 GMT</pubDate>
      <description>有时想要针对程序oom时验证一些逻辑处理是否正常，但奈何电脑的内存太多，不太容易让程序快速oom。 本文介绍一个工具，procgov: 它可以锁住你关注的进程的内存，比如:限制你的程序进程最多用 256MB 内存，则可以使用下面命令： 命令执行成功后，会启动你的应用程序，进程一旦尝试超过这个上限,分配就会失败,直接复现 OOM.</description>
    </item>
    <item>
      <title>Avalonia 打一个dmg包</title>
      <link>https://blog.939826.xyz/posts/262</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/262</guid>
      <pubDate>Tue, 02 Jun 2026 16:00:00 GMT</pubDate>
      <description>参考了此篇博客：【亲测免费】 create-dmg 教程：创建精美Mac DMG镜像、还有这篇Avalonia macOS 应用打包指南 跟随本篇操作 可以打出来一个免安装绿色版和dmg（拖拽安装）安装包 在自己的主程序的目录下新增一个xxx.sh脚本，并在文件中粘贴如下内容： xxx.sh放置在应用程序项目目录下，另外你还需要为应用程序搞一个icon文件 给xxx.sh设置为可执行chmod +…</description>
    </item>
    <item>
      <title>Rider 由于自动识别导致的编译失败</title>
      <link>https://blog.939826.xyz/posts/261</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/261</guid>
      <pubDate>Sun, 31 May 2026 16:00:00 GMT</pubDate>
      <description>前提:项目代码没有毛病,使用VisualStudio正常编译执行的; 问题:今天下载安装了Rider,打开了一个.net framework 4.x的项目,点击构建项目提示报错,当我从错误信息跳转到错误的代码处,发现该位置的代码没什么毛病. 分析:vs能正常编译,Rider却不能?我想肯定是编译工具出现了问题. 打开到这个位置后,Rider自动识别到的是.NET 10里面的msbuild.我想这就…</description>
    </item>
    <item>
      <title>Visual Studio 全局搜索快捷键不生效</title>
      <link>https://blog.939826.xyz/posts/260</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/260</guid>
      <pubDate>Tue, 26 May 2026 16:00:00 GMT</pubDate>
      <description>今天换了新电脑,发现按下CTRL+SHIFT+F无法触发全局搜索;一度以为是vs的bug. 最后在网上搜索解决方案时,发现自己输入的中文都变成了繁体;我反应过来:原来和操作系统的简繁体切换冲突了. 在系统的输入法按键设置中关掉它就好了.</description>
    </item>
    <item>
      <title>C# 使用任务计划实现开机自启动</title>
      <link>https://blog.939826.xyz/posts/259</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/259</guid>
      <pubDate>Fri, 08 May 2026 16:00:00 GMT</pubDate>
      <description>绕过 UAC（用户账户控制）限制：因为 Windows 的 UAC 会拦截或提示需要管理员权限的操作（如修改注册表、系统目录等）。PowerShell 脚本可以设计为以管理员权限运行，从而避免普通用户因权限不足导致自启失败。 代码参考了Watt Toolkit」跨平台的多功能 Steam 工具箱。 代码拷贝走，跑起来试试吧！</description>
    </item>
    <item>
      <title>WPF 颜色不透明度对应的16进制数</title>
      <link>https://blog.939826.xyz/posts/258</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/258</guid>
      <pubDate>Wed, 22 Apr 2026 16:00:00 GMT</pubDate>
      <description>用在线工具算；注意 r g b 填0-255 a 填 0-1 比如 透明度要设置成 12%的话 那需要在 a 的位置填 0.12。</description>
    </item>
    <item>
      <title>调试技巧 内存泄漏、CPU爆高、非托管内存泄漏、UI卡顿、死锁、分析方法耗时</title>
      <link>https://blog.939826.xyz/posts/254</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/254</guid>
      <pubDate>Sun, 05 Apr 2026 16:00:00 GMT</pubDate>
      <description>写在最前，本篇介绍的工具，都是针对dotnet平台下开发的程序进行性能分析；使用的工具包括但不限于，perfview、dottrace、visual studio。 2026年6月9日补充:有时候你可能需要遇到加载符号(即pdb文件)的情况,微软官方的有点慢 推荐你把这个加上:http://msdl.blackint3.com:88/download/symbols 参考:Windbg符号库官方和…</description>
    </item>
    <item>
      <title>WPF DataGrid的列Visibility设置Binding不生效</title>
      <link>https://blog.939826.xyz/posts/253</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/253</guid>
      <pubDate>Wed, 01 Apr 2026 16:00:00 GMT</pubDate>
      <description>WPF开发时，有需求提出：想动态设置DataGrid上面的列的显示和隐藏，我想这还不简单，于是： DataGrid上面的列通过绑定设置显示和隐藏不生效 列没有隐藏掉？？？转眼望向调试输出窗口： 这个问题我是七年前遇到的，在那个没有AI的时代，我Google了很久，终于在一个角落找到了[[WPF] How to bind to data when the DataContext is not inh…</description>
    </item>
    <item>
      <title>WPF 多语言支持</title>
      <link>https://blog.939826.xyz/posts/252</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/252</guid>
      <pubDate>Tue, 31 Mar 2026 16:00:00 GMT</pubDate>
      <description>写在最前 针对WPF应用程序的多语言支持实现方式多种多样，有用xml的、json的等等等等。本文介绍了两种方式，在项目中我使用的方式为Resx资源文件管理多语言。前面是探索阶段的代码演示，如果没有耐心看请直接跳转到不重复造轮子。 本篇示例代码几乎全部贴出，但也提供了压缩包：LanguageDemo 可以下载参考。 方式一 ResourceDictionary 根据语言新建多个版本的资源字典 Lan…</description>
    </item>
    <item>
      <title>Avalonia VisualStudio写axaml没有代码提示？</title>
      <link>https://blog.939826.xyz/posts/251</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/251</guid>
      <pubDate>Fri, 27 Mar 2026 16:00:00 GMT</pubDate>
      <description>不知道是不是我的VisualStudio 2026出了Bug？我安装Avalonia for Visual Studio扩展工具，发现写axaml代码没有智能提示？ 天塌了！！！难道vs写不了avalonia了么？我在扩展工具中找到了这个： 方案1：安装这个扩展 AXAML Viewer 这下有智能提示了。 方案2：JetBrains Rider Rider对axaml的代码提示体验，我觉得是碾压…</description>
    </item>
    <item>
      <title>Avalonia 样式选择器练习</title>
      <link>https://blog.939826.xyz/posts/250</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/250</guid>
      <pubDate>Thu, 26 Mar 2026 16:00:00 GMT</pubDate>
      <description>假如你是WPF开发者 关于avalonia的样式与wpf区别还是比较大的；不过Avalonia的官方文档中贴心的给出了wpf开发者转向Avalonia开发时，应该注意的地方，看下这一章：Migrating from WPF； 关于样式的异同点，可以着重看下这一节：Styling， 我看完之后的总结是： wpf将Style写在Resources集合里，wpf把Style当资源，avalonia将St…</description>
    </item>
    <item>
      <title>WPF 为DataGrid添加行双击行为</title>
      <link>https://blog.939826.xyz/posts/249</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/249</guid>
      <pubDate>Tue, 24 Mar 2026 16:00:00 GMT</pubDate>
      <description>双击DataGrid中的行，然后做一些事情，要点： 1、为DataGrid添加事件监听，而不是为每个DataGridRow添加事件监听； 2、双击的位置一般为单元格或单元格内的元素，所以这里牵涉到碰撞检测和父元素查找； 3、单元格内若有功能元素，如：删除按钮，复选按钮等。要规避点击冲突。 实现过程 安装行为包 安装 Microsoft.Xaml.Behaviors.Wpf NuGet包 父元素查找…</description>
    </item>
    <item>
      <title>MacOS 打开某个目录 显示隐藏文件</title>
      <link>https://blog.939826.xyz/posts/247</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/247</guid>
      <pubDate>Fri, 20 Mar 2026 16:00:00 GMT</pubDate>
      <description>前往某个目录 在桌面空白处点击一下，或者按F11；接下来 按下组合键 command shift G 输入希望前往的路径后，下方会展示匹配列表；第一个会被选中且高亮，若它就是你希望前往的文件目录可以直接回车前往。 显示所有隐藏的文件 在访达中点击列表的空白处，按下组合键 command shift .(点符号) 即可显示所有隐藏的文件和文件夹 再次按下上面的组合键 即可隐藏所有的隐藏文件和文件夹</description>
    </item>
    <item>
      <title>MacOS Wacom数位板驱动</title>
      <link>https://blog.939826.xyz/posts/246</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/246</guid>
      <pubDate>Sat, 14 Mar 2026 16:00:00 GMT</pubDate>
      <description>最近数位板遇到了这个问题：wacom center 打不开；打开之后一直在转圈圈，一分钟后提示：数位板驱动程序没有响应。 请重新启用Wacom Center。 如果未正常工作，请联系客户支持，我们可提供帮助。 拨打客服电话，在客服的耐心指导下，解决路径如下： 腾讯柠檬、Clean My Mac软件卸载掉，原因见：腾讯柠檬 Clean My Mac 按照此如何手动卸载wacom 链接给出的步骤将wa…</description>
    </item>
    <item>
      <title>WPF 数据验证</title>
      <link>https://blog.939826.xyz/posts/245</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/245</guid>
      <pubDate>Tue, 10 Mar 2026 16:00:00 GMT</pubDate>
      <description>在WPF开发过程中，有许多地方需要数据验证。如：登录页面需要校验邮箱和验证码； 有些朋友可能采用的方式是：在提交按钮点击的那一刻才校验，如果不通过，弹一个错误提示； 由于我之前的项目就是采用上面👆这种方式，我遇到了一个很苦脑的事情：长度验证、数值范围验证、邮箱格式验证等等，这些看起来高度相似的验证逻辑，项目组的小伙伴们操作大概是这样子：复制粘贴后稍稍改一下提示文本。 通过查阅资料，我发现wpf其…</description>
    </item>
    <item>
      <title>Visual Studio VS2026无法安装ILSpy扩展</title>
      <link>https://blog.939826.xyz/posts/244</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/244</guid>
      <pubDate>Sat, 07 Mar 2026 16:00:00 GMT</pubDate>
      <description>问题 visual studio 2026 don't support ILSPY 最近安装了VS 2026，在安装我常用的Vs扩展ILSpy的时候，提示了下面报错： 解决方案 到ILSpy的Git仓库去下载VSIX包，自己双击这个文件进行安装。 https://github.com/icsharpcode/ILSpy/releases 安装成功，然后就可以在代码中，右键查看某个方法的反编译后的代…</description>
    </item>
    <item>
      <title>WPF 让异步方法同步执行</title>
      <link>https://blog.939826.xyz/posts/243</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/243</guid>
      <pubDate>Thu, 05 Mar 2026 16:00:00 GMT</pubDate>
      <description>WPF程序，在按钮的点击事件中，调用异步方法的Result属性或WaitOne方法，直接死锁？ 通过打断点调试看到，Result属性被调用时，内部会在UI线程上等待GetNumber返回，而在GetNumber内部的await那行，Delay任务返回时要恢复上下文，即恢复到调用者线程--就是UI线程； 可在它尝试从UI上下文恢复之前，已经有一个GetNumber在那里等着了。。。所以无法从UI上下…</description>
    </item>
    <item>
      <title>WPF 为什么WPF程序不像控制台程序那样一闪而过</title>
      <link>https://blog.939826.xyz/posts/242</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/242</guid>
      <pubDate>Thu, 05 Mar 2026 16:00:00 GMT</pubDate>
      <description>记得初学c#的时候，新建了一个控制台程序，点击调试运行后，Main方法执行完后就直接退出进程了“停止调试”。 我在想WPF程序也是由Main方法开始执行的，为什么它就不会像控制台程序那样，启动后执行完Main方法就退出进程了呢？我通过“暂停调试”的方法，在并行堆栈界面看到了程序当前的堆栈调用情况： 原来Main函数没有执行完毕，所以才不会退出。然而，又有一个新的问题浮现出我的脑海,在主线程Main…</description>
    </item>
    <item>
      <title>WPF STA线程</title>
      <link>https://blog.939826.xyz/posts/241</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/241</guid>
      <pubDate>Thu, 05 Mar 2026 16:00:00 GMT</pubDate>
      <description>在Thread线程中创建窗口并显示 运行代码后你会得到这样的错误： 咨询了一下AI、COM组件和UI控件都需要在STA(Single-Threaded Apartment)线程模型上工作，为了：保证同一时间只有一个线程可以操作UI。 所以，想要在非UI线程中创建UI控件，需要将线程设置为STA； Thread类提供了SetApartmentState方法，对线程单元进行设置。解决上面报错的方式如下…</description>
    </item>
    <item>
      <title>VisualStudio 平台工具集和Windows SDK</title>
      <link>https://blog.939826.xyz/posts/240</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/240</guid>
      <pubDate>Tue, 03 Mar 2026 16:00:00 GMT</pubDate>
      <description>写本篇的背景 visual studio我推荐用最新的，但不可避免有些公司还在用老版本vs（如 vs2015 ）作为集成环境！！！难道我真的只能下载vs2015么？答案是：不需要。本篇主要介绍如何既可以使用最新版vs写代码，调试代码，又能保证自己提交代码在低版本的vs的同事们那里不会编译报错。 我采用的方式为：IDE仍使用最新版vs(当前是vs2026)，但根据本项目的情况(比如是vs2015创建…</description>
    </item>
    <item>
      <title>WPF 类型转换器</title>
      <link>https://blog.939826.xyz/posts/239</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/239</guid>
      <pubDate>Mon, 02 Mar 2026 16:00:00 GMT</pubDate>
      <description>在wpf开发工作中，你有没有想过，当你在xaml中写下&quot;red&quot;,&quot;blue&quot;等色值时，控件的背景色变成了红色和蓝色，WPF是如何“智能识别出我们的意图的”? 答案是类型转换器：BrushConverter 形如这种还有 Margin属性、FontSize属性等等，他们能够让我们简写成下面的形式，都因类型转换器起了作用： 自定义类型转换器 现在，我有一个枚举类型，需要绑定到界面上的文本控件的文本属…</description>
    </item>
    <item>
      <title>VisualStudio 卸载vs2015</title>
      <link>https://blog.939826.xyz/posts/238</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/238</guid>
      <pubDate>Mon, 02 Mar 2026 16:00:00 GMT</pubDate>
      <description>微软官方在这片文章中：Uninstall Visual Studio提到了一个卸载工具： VisualStudioUninstaller 下载了这个工具我双击运行后，大致跑了15分钟左右，大致历程： 1、双击打开后，打开了一个控制台，提示让我按下&quot;y&quot;开始卸载 2、按下y之后大约3分钟左右界面没有任何输出， 3、3分钟后界面开始有卸载进度 4、中间电脑桌面背景变黑、任务栏丢失；但马上又恢复 5、大…</description>
    </item>
    <item>
      <title>WPF 将NET Framework项目升级成SDK风格的项目</title>
      <link>https://blog.939826.xyz/posts/237</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/237</guid>
      <pubDate>Sat, 28 Feb 2026 16:00:00 GMT</pubDate>
      <description>为什么要升级 最近在改造一个WPF写的.net framework 4.6.2版本的老项目，因为写通知属性写烦了，想着CommunityToolkit.Mvvm框架的生成器功能，减少一些工作量。谁知用上之后，发现并不能使用，编译项目时，控制台输出了这样一些信息： 它的意思是需要sdk风格的项目才能让CommunityToolkit.Mvvm的生成器功能起作用。 看来得把项目升级成sdk风格了！！！…</description>
    </item>
    <item>
      <title>WPF 自定义控件库名称空间</title>
      <link>https://blog.939826.xyz/posts/236</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/236</guid>
      <pubDate>Sat, 07 Feb 2026 16:00:00 GMT</pubDate>
      <description>写WPF项目时，是否有见过有的第三方ui控件库，引用时在xaml文件中使用的是类似网址样式的名称空间？ 如上，使用handycontrol库时，我们会引入：xmlns:hc=&quot;https://handyorg.github.io/handycontrol&quot;,然后就可以使用hc来使用handycontrol库中的各种控件了。 咦？是不是觉得好方便哇！！！ handycontrol是怎么做到的？ 让源…</description>
    </item>
    <item>
      <title>WPF ScottPlot5禁用右键菜单</title>
      <link>https://blog.939826.xyz/posts/235</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/235</guid>
      <pubDate>Thu, 05 Feb 2026 16:00:00 GMT</pubDate>
      <description>ScottPlot5右键菜单如何禁用？ 探索 我下载了ScottPlot的git仓库源代码，通过在，ScottPlot.WPF.WpfPlotMenu类中的ShowContextMenu方法中下断点，然后右键图表，命中断点时，发现方法的调用堆栈如下：(发生顺序要从下往上看) 其中ScottPlot.WPF.dll!ScottPlot.WPF.WpfPlotBase.ShowContextMenu(…</description>
    </item>
    <item>
      <title>MacOS homebrew卸载与重装【转载】</title>
      <link>https://blog.939826.xyz/posts/234</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/234</guid>
      <pubDate>Fri, 30 Jan 2026 16:00:00 GMT</pubDate>
      <description>卸载homebrew 官方卸载脚本 执行后会： 自动识别芯片架构（Intel/Apple Silicon） 删除 /usr/local（Intel）或 /opt/homebrew（Apple Silicon）下的所有文件 清理缓存目录 ~/Library/Caches/Homebrew 方法2：手动清理（适用于脚本失效时） 需额外检查残留文件： 重新安装 Homebrew 标准安装（国内镜像加速）…</description>
    </item>
    <item>
      <title>WPF 用户控件(UserControl)继承</title>
      <link>https://blog.939826.xyz/posts/233</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/233</guid>
      <pubDate>Tue, 20 Jan 2026 16:00:00 GMT</pubDate>
      <description>在WPF项目中，你是否遇到过希望编写一个UserControl继承自另一个UserControl的场景？ 比如下面：DerivedUserControl继承自BaseUserControl UserControl继承另一个UserControl 步骤： 1、新建一个UserControl命名为 BaseUserControl 后台代码 2、再新建一个UserControl命名为 DerivedUs…</description>
    </item>
    <item>
      <title>openlist 安装</title>
      <link>https://blog.939826.xyz/posts/232</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/232</guid>
      <pubDate>Sat, 10 Jan 2026 16:00:00 GMT</pubDate>
      <description>记录一下 openlist安装过程 openlist官方指南 第一步：执行一键安装脚本 根据提示进行操作，这里我们选择输入 1 进行安装，在网上找到了一个加速代理 https://github.makkle.com/ ，可以加速安装。 安装完成 会给初始密码和网站地址： 若网站打不开，则需要在设置防火墙端口放行。 若网站可以打开，则证明安装成功。 至于挂载网盘，跟着官方教程操作即可。另外： ope…</description>
    </item>
    <item>
      <title>macos 清理dotnet环境</title>
      <link>https://blog.939826.xyz/posts/231</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/231</guid>
      <pubDate>Wed, 31 Dec 2025 16:00:00 GMT</pubDate>
      <description>确认一下已经安装的dotnet版本 清理 最后清理一下这些地方的目录 使用dotnet命令验证 提示无效命令，就证明dotnet已经清理完毕。 使用rider开发时 如何安装.net环境？ 推荐官网下载、安装、重启rider （好处是环境变量会自动帮你添加好） 打开rider后 可在 Settings → Build, Execution, Deployment → Toolset and Bui…</description>
    </item>
    <item>
      <title>VisualStudio 缓存过大导致系统盘爆红</title>
      <link>https://blog.939826.xyz/posts/230</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/230</guid>
      <pubDate>Sun, 14 Dec 2025 16:00:00 GMT</pubDate>
      <description>VisualStudio 2022 及以上版本，装在了系统盘；用了没多久系统盘提示空间不足。 本文介绍：通过创建软链接方式，将VS的缓存目录写到非系统盘，解决系统盘空间不足的问题。 找到VS缓存目录 使用大文件查找工具 使用Listary或者everything 搜索 VisualStudio 我使用的是VS2026，故缓存目录在 C:\Users\ \AppData\Local\Microsof…</description>
    </item>
    <item>
      <title>Linux 一些常用命令</title>
      <link>https://blog.939826.xyz/posts/196</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/196</guid>
      <pubDate>Fri, 06 Jun 2025 16:00:00 GMT</pubDate>
      <description>系统信息 有些命令还有有些文件名称不想敲完 多用tab 多按就下也没事儿 多试试 能大大节省时间 本博客参考 参考:linux入门教程 用户切换 文件权限 上图以目录a为例 d rwx rwx r-x 分别是什么意思? 数字修改权限 字母修改权限 软件包的 更新 安装 卸载 apt apt-get remove 与 apt-get purge 区别 使用dpkg离线安装本地软件包 Ubuntu中A…</description>
    </item>
    <item>
      <title>github相关操作(不定期补充)</title>
      <link>https://blog.939826.xyz/posts/195</link>
      <guid isPermaLink="true">https://blog.939826.xyz/posts/195</guid>
      <pubDate>Fri, 06 Jun 2025 16:00:00 GMT</pubDate>
      <description>克隆仓库时发现 解决方案：禁用证书验证 git bash环境感觉是一个小型Linux系统 因为Linux相关命令都可以在这里键入 拉取指定Tag的代码 仅推送tag到远程仓库 查看远程仓库tag 分支操作 禁用jetbrains系列IDE的目录 .gitignore文件中添加下面这行 maocs上配置github 从配置全局信息到通过ssh登录 配置git全局信息 配置用户名和邮箱 查看配置信息…</description>
    </item>
  </channel>
</rss>
