<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[like_sunshine978的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/like_sunshine978</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; like_sunshine978]]></copyright><item><title><![CDATA[为什么叫“依赖注入”]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/170194473</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/170194473</guid><author>like_sunshine978</author><pubDate>Fri, 06 Nov 2026 15:17:56 +0800</pubDate><description><![CDATA[这里最值得看懂的是ShowDialog的三个参数。]]></description><category></category></item><item><title><![CDATA[WPF 音视频四大核心方案对比]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/169941125</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/169941125</guid><author>like_sunshine978</author><pubDate>Thu, 05 Nov 2026 09:39:25 +0800</pubDate><description><![CDATA[wav。]]></description><category></category></item><item><title><![CDATA[WPF中Button按钮液态玻璃样式]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/170125130</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/170125130</guid><author>like_sunshine978</author><pubDate>Thu, 05 Nov 2026 09:38:53 +0800</pubDate><description><![CDATA[该样式实现了一款现代感十足的“液态玻璃”按钮，采用渐变背景与动态光影效果，结合悬停放大、按下回弹及透明辉光等交互动画，营造出流动的视觉质感。通过模糊阴影、高光层与弹性动画增强立体感，整体风格兼具科技感与优雅，适用于高端UI设计。]]></description><category></category></item><item><title><![CDATA[WPF中的转换器以及多值转换器]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/169552882</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/169552882</guid><author>like_sunshine978</author><pubDate>Fri, 30 Oct 2026 13:34:32 +0800</pubDate><description><![CDATA[在 WPF 数据绑定里，转换器（Converter）用于把“数据中的值”，转换成“界面需要的值”。数据中的值 转换器 界面显示true → 布尔值转可见性 → 显示控件false → 布尔值转可见性 → 隐藏控件13 → 年龄转文字 → “未成年”20 → 年龄转文字 → “成年”数据源属性 → 控件属性数据源属性 → 转换器处理 → 控件属性转换器通常只处理这次传递的值，不会因为把13显示成“未成年”，就把原来的Age属性改掉。如果内置转换器不能满足需求，就自己实现。]]></description><category></category></item><item><title><![CDATA[wpf数据绑定，基于ADO.Net的数据对象的数据源]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/169359918</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/169359918</guid><author>like_sunshine978</author><pubDate>Wed, 28 Oct 2026 17:34:28 +0800</pubDate><description><![CDATA[的，让 ListView 从默认的 “单行条目” 变成像 Excel 一样的多列表格。]]></description><category></category></item><item><title><![CDATA[动画生命周期]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/168548511</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/168548511</guid><author>like_sunshine978</author><pubDate>Thu, 22 Oct 2026 13:45:36 +0800</pubDate><description><![CDATA[如果你在动画过程中把基础值改成了 150，那么动画结束后就会显示 150。按钮变宽到 300 后就保持 300，并且以后还能正常修改 Width。你可以把它想成：基础值还在下面，动画临时提供了一个优先使用的值。从 100 变到 300，再从 300 变回 100。动画会暂时覆盖属性的值，但不会自动修改属性的基础值。这样，动画移除后，按钮依然保持 300。本例中，就是 XAML 设置的 100。动画已经结束，那么它应该不再影响按钮了。，所以能在事件中读取到保持的最终值。，它还可能保持反向播放结束时的值。]]></description><category></category></item><item><title><![CDATA[ToolTip工具提示控件]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/167682436</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/167682436</guid><author>like_sunshine978</author><pubDate>Mon, 12 Oct 2026 13:48:52 +0800</pubDate><description><![CDATA[1、ToolTip。]]></description><category></category></item><item><title><![CDATA[路由概念和路由事件 继承链路 RadioButton的事件解析]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/167485895</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/167485895</guid><author>like_sunshine978</author><pubDate>Mon, 12 Oct 2026 11:18:12 +0800</pubDate><description><![CDATA[OriginalSource ：出生点，一辈子不变Source：旅途上，当前站；冒泡每上一层就更新sender：终点站，我们给它注册函数的哪一个对象。]]></description><category></category></item><item><title><![CDATA[WPF中的依赖属性]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/167389241</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/167389241</guid><author>like_sunshine978</author><pubDate>Sat, 10 Oct 2026 13:46:32 +0800</pubDate><description><![CDATA[如果你自己写了一个自定义控件，希望它身上的某个属性也能像FontSize一样遗传给子孙后代，你需要使用。完整代码演示（细节拉满，不跳步）：第一步：注册依赖属性并打上Inherits标记注意，普通的属性一般用，但为了支持继承这种高级 UI 特性，我们必须使用它的派生类。// 1. 注册依赖属性"ThemeColor", // 属性名typeof(Brush), // 属性类型typeof(MyCustomPanel), // 宿主类型Brushes.Gray, // 默认值。]]></description><category></category></item><item><title><![CDATA[IEnumerable＜T＞ 详细讲解]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/165615278</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/165615278</guid><author>like_sunshine978</author><pubDate>Wed, 16 Sep 2026 15:22:43 +0800</pubDate><description><![CDATA[扩展方法是 C# 的语法特性，可以在不修改原有类 / 接口代码的前提下，给它 “追加” 新方法。并不是接口里定义的方法，而是 .NET 框架里的Enumerable静态类，专门给扩展出来的工具方法。就是所有集合的「通用遍历协议」，List、数组等都实现了它；是给这个协议扩展的通用工具方法，所以所有集合都能直接调用。]]></description><category></category></item><item><title><![CDATA[CSB代码学习]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/164803367</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/164803367</guid><author>like_sunshine978</author><pubDate>Wed, 16 Sep 2026 15:09:51 +0800</pubDate><description><![CDATA[原版1、单例模式：保证全局只有这一个工厂对象。2、工厂模式（带对象缓存）：从外部DLL动态加载类，创建Service实例，并且缓存实例，避免重复加载DLL，重复创建对象。修改版一、先看【单例部分代码】单例核心要点：1：私有静态字段ServiceFactory：用来保存唯一实例。2：私有构造函数private ServiceFactory()关键：外面不能new ServiceFactory（） 阻止外部随意创建对象。构造器第一次创建工厂的时候只执行一次；]]></description><category></category></item><item><title><![CDATA[JSON /XML转换]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/164138514</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/164138514</guid><author>like_sunshine978</author><pubDate>Fri, 28 Aug 2026 17:55:16 +0800</pubDate><description><![CDATA[命名控件需要XML转Json/JObject 用到的全部核心API核心转换静态方法JsonConvert.SerializexNode();//再把JSON字符串转换为JObject。]]></description><category></category></item><item><title><![CDATA[Assembly.GetExecutingAssembly()]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/164044782</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/164044782</guid><author>like_sunshine978</author><pubDate>Thu, 27 Aug 2026 16:47:48 +0800</pubDate><description><![CDATA[比如：你拿到一段 JSON，只需要取其中 1‑2 个字段，不想新建一大堆实体类，就用。]]></description><category></category></item><item><title><![CDATA[关闭数据库服务减少内存占用]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/162427042</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/162427042</guid><author>like_sunshine978</author><pubDate>Mon, 29 Jun 2026 17:33:55 +0800</pubDate><description><![CDATA[近来，一打开电脑就看到内存占用了18个G，明明什么都还没有打开。]]></description><category></category></item><item><title><![CDATA[yolo 学习]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/161803028</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/161803028</guid><author>like_sunshine978</author><pubDate>Tue, 16 Jun 2026 08:56:51 +0800</pubDate><description><![CDATA[classify分类预测可以预测足足1000种类型旋转目标检测的类型也是不太一样的一共15种类型，都是俯瞰视角常用的类型姿态估计模型只能预测person一种类型，因为它只针对人体的姿态实例分割模型比较特殊支持同样的80种类型在训练的时候就先要弄清楚，想要用YOLO预测哪些类型，最后训练得到的模型就只能预测哪些类型yolo11n.pt 这个模型的大小yolo11n 中 的n是nano的很小的意思意思模型：模型是什么任务类型？模型可以预测哪些类型？模型有多大？有哪些现成的模型？]]></description><category></category></item><item><title><![CDATA[如何让豆姐写出treeWidget代码]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/161689135</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/161689135</guid><author>like_sunshine978</author><pubDate>Thu, 04 Jun 2026 15:36:34 +0800</pubDate><description><![CDATA[帮我写Qt TreeWidget 代码表头叫什么顶层节点叫什么我就直接给你可运行的完整代码，不用你改、不用你调！]]></description><category></category></item><item><title><![CDATA[优质博客收藏]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/161661033</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/161661033</guid><author>like_sunshine978</author><pubDate>Wed, 03 Jun 2026 17:01:29 +0800</pubDate><description><![CDATA[[onnxruntime]windows上C++ onnxruntime配置vs2022和简单测试_onnxruntime windows-优快云博客



OpenCV安装及其开发环境配置(C++)_opencv c++安装-优快云博客]]></description><category></category></item><item><title><![CDATA[c++中的宏是什么？]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/161544276</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/161544276</guid><author>like_sunshine978</author><pubDate>Tue, 02 Jun 2026 14:47:48 +0800</pubDate><description><![CDATA[宏通过#define。]]></description><category></category></item><item><title><![CDATA[visual2013 密钥真实可用]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/161591301</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/161591301</guid><author>like_sunshine978</author><pubDate>Mon, 01 Jun 2026 13:38:01 +0800</pubDate><description><![CDATA[Visual Studio Professional 2013  KEY（密钥）： XDM3T-W3T3V-MGJWK-8BFVD-GVPKY。Visual Studio Ultimate 2013 KEY（密钥）：BWG7X-J98B3-W34RT-33B3R-JVYW9。Visual Studio Premium 2013 KEY（密钥）：FBJVC-3CMTX-D8DVP-RTQCT-92494。每次都会忘记留作备用，这次终于想起来，需要留作备用。]]></description><category></category></item><item><title><![CDATA[ SqlDataAdapter.Fill(dt) 和SqlDataReader + dt.Load()的差异]]></title><link>https://blog.youkuaiyun.com/like_sunshine978/article/details/161487627</link><guid>https://blog.youkuaiyun.com/like_sunshine978/article/details/161487627</guid><author>like_sunshine978</author><pubDate>Thu, 28 May 2026 17:00:38 +0800</pubDate><description><![CDATA[DataTable中的dt.Load()方法它相当于DataTable极其聪明，当它执行Load()：它会先看一眼传送带送来的“货物规格说明书（数据库表的列名、数据类型）”，然后。你完全不需要像之前那样手动去。：建好列之后，它会自动让传送带 (Dr.Read()) 疯狂转动，把所有传送过来的数据一行不落地装进自己的Rows集合里，直到传送带上没货为止。“既然有这么爽的全自动包工头，为什么还要用dt.Load()这种写法呢？这叫“没有中间商赚差价”！]]></description><category></category></item></channel></rss>