- + @@ -1107,7 +1107,7 @@ - MS 开发常用 DLL 引用配置推荐 + MS Addin 开发常用 DLL 引用配置推荐 @@ -1132,6 +1132,10 @@ Develop + , + + MDL入门 + @@ -1141,14 +1145,14 @@ 本文字数: - 7.1k + 7.4k 阅读时长 ≈ - 6 分钟 + 7 分钟 @@ -1163,7 +1167,7 @@ 引用配置,方便今后开辟新项目直接拷贝使用,在使用的过程中,会根据需要,逐渐添加。 - + 阅读全文 » @@ -1194,7 +1198,7 @@ - + @@ -1212,7 +1216,7 @@ - DgnPrimitiveTool 使用文档 + DgnPrimitiveTool 详细说明文档 @@ -1250,14 +1254,14 @@ 本文字数: - 689 + 2.2k 阅读时长 ≈ - 1 分钟 + 2 分钟 @@ -1268,11 +1272,12 @@ - 本文主要总结 DgnPrimitiveTool -的触发逻辑,同时介绍其中的参数设置。 + 本文主要总结 DgnTool 的触发逻辑,同时介绍其中的参数设置。 +它是所有 Tool 的基类,在使用过程中,不能直接派生于它,而是要从 +DgnViewTool 和 DgnPrimitiveTool 派生。 - + 阅读全文 » @@ -1325,7 +1330,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/12/index.html b/page/12/index.html index d351f58a95..116d9db724 100644 --- a/page/12/index.html +++ b/page/12/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - DgnPrimitiveTool 详细说明文档 + DgnPrimitiveTool 使用文档 @@ -261,14 +261,14 @@ 本文字数: - 2.2k + 689 阅读时长 ≈ - 2 分钟 + 1 分钟 @@ -279,12 +279,11 @@ - 本文主要总结 DgnTool 的触发逻辑,同时介绍其中的参数设置。 -它是所有 Tool 的基类,在使用过程中,不能直接派生于它,而是要从 -DgnViewTool 和 DgnPrimitiveTool 派生。 + 本文主要总结 DgnPrimitiveTool +的触发逻辑,同时介绍其中的参数设置。 - + 阅读全文 » @@ -558,7 +557,7 @@ - + @@ -576,7 +575,7 @@ - 几何继承关系层次图 + 如何调用 Microstation 的消息管理器 @@ -603,7 +602,7 @@ , - 几何变换 + 消息中心 @@ -614,14 +613,14 @@ 本文字数: - 14 + 3.3k 阅读时长 ≈ - 1 分钟 + 3 分钟 @@ -632,12 +631,10 @@ - - - + 在进行Bentley二次开发的时候,通常我们需要向用户输出一些信息,比如操作的提示,错误的提示等等,本文特对这些方式进行总结,方便下次随心所欲地使用。 - + 阅读全文 » @@ -668,7 +665,7 @@ - + @@ -686,7 +683,7 @@ - 由浅入深地理解样条曲线 + 几何继承关系层次图 @@ -699,13 +696,6 @@ 2022-05-12 - - - - - 更新于 - 2022-07-06 - @@ -731,14 +721,14 @@ 本文字数: - 10k + 14 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -749,10 +739,12 @@ - 本文简要介绍计算机图图形学中的常用的各个样条曲线,同时梳理他们的之间的关系。 + + + - + 阅读全文 » @@ -783,7 +775,7 @@ - + @@ -801,7 +793,7 @@ - 如何调用 Microstation 的消息管理器 + 由浅入深地理解样条曲线 @@ -814,6 +806,13 @@ 2022-05-12 + + + + + 更新于 + 2022-07-06 + @@ -828,7 +827,7 @@ , - 消息中心 + 几何变换 @@ -839,14 +838,14 @@ 本文字数: - 3.3k + 10k 阅读时长 ≈ - 3 分钟 + 9 分钟 @@ -857,10 +856,10 @@ - 在进行Bentley二次开发的时候,通常我们需要向用户输出一些信息,比如操作的提示,错误的提示等等,本文特对这些方式进行总结,方便下次随心所欲地使用。 + 本文简要介绍计算机图图形学中的常用的各个样条曲线,同时梳理他们的之间的关系。 - + 阅读全文 » @@ -1351,7 +1350,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/13/index.html b/page/13/index.html index 50dae27889..ebd96afe78 100644 --- a/page/13/index.html +++ b/page/13/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -661,7 +661,7 @@ 阅读时长 ≈ - 12 分钟 + 13 分钟 @@ -1375,7 +1375,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/14/index.html b/page/14/index.html index 86b298f1b6..4db9e0df21 100644 --- a/page/14/index.html +++ b/page/14/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1334,7 +1334,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/15/index.html b/page/15/index.html index ded28615d7..52fc3df548 100644 --- a/page/15/index.html +++ b/page/15/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1290,7 +1290,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/16/index.html b/page/16/index.html index 88e110773f..bcf65dc3be 100644 --- a/page/16/index.html +++ b/page/16/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1345,7 +1345,7 @@ 会话 Session - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/17/index.html b/page/17/index.html index 5058727b06..be3e1ea47a 100644 --- a/page/17/index.html +++ b/page/17/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -934,7 +934,7 @@ - + @@ -952,7 +952,7 @@ - 每日学习总结 + 考试复习计划 @@ -982,7 +982,7 @@ 本文字数: - 69 + 818 @@ -1000,10 +1000,10 @@ - 此处记录备考以来的所有情况。 + 通过在一注论坛参考多篇考试经验,自己总结了一套适合自己节奏和复习方案出来,规划如下: - + 阅读全文 » @@ -1034,7 +1034,7 @@ - + @@ -1052,7 +1052,7 @@ - 考试复习计划 + 每日学习总结 @@ -1082,7 +1082,7 @@ 本文字数: - 818 + 69 @@ -1100,10 +1100,10 @@ - 通过在一注论坛参考多篇考试经验,自己总结了一套适合自己节奏和复习方案出来,规划如下: + 此处记录备考以来的所有情况。 - + 阅读全文 » @@ -1134,7 +1134,7 @@ - + @@ -1152,7 +1152,7 @@ - 如何向回调函数中传递参数 + nodejs 环境安装 @@ -1170,7 +1170,7 @@ 更新于 - 2023-07-06 + 2023-04-13 @@ -1186,7 +1186,7 @@ , - JSLanguage + Nodejs @@ -1197,7 +1197,7 @@ 本文字数: - 302 + 0 @@ -1215,16 +1215,8 @@ - 有时候我们需要向回调函数中传递参数,比如在 vue -中父组件向子组件的事件响应函数中传递自定义对象。 - - - - 阅读全文 » - - - - + + @@ -1272,7 +1264,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/18/index.html b/page/18/index.html index fa91270885..923d3bca9f 100644 --- a/page/18/index.html +++ b/page/18/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - nodejs 环境安装 + 如何向回调函数中传递参数 @@ -241,7 +241,7 @@ 更新于 - 2023-04-13 + 2023-07-06 @@ -257,7 +257,7 @@ , - Nodejs + JSLanguage @@ -268,7 +268,7 @@ 本文字数: - 0 + 302 @@ -286,8 +286,16 @@ - - + 有时候我们需要向回调函数中传递参数,比如在 vue +中父组件向子组件的事件响应函数中传递自定义对象。 + + + + 阅读全文 » + + + + @@ -1460,7 +1468,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/19/index.html b/page/19/index.html index 788156e52a..2914b406b0 100644 --- a/page/19/index.html +++ b/page/19/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1811,7 +1811,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/2/index.html b/page/2/index.html index fb79a2b7b6..4ad875bae5 100644 --- a/page/2/index.html +++ b/page/2/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1337,7 +1337,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/20/index.html b/page/20/index.html index e72e582ce5..9b56d75dc0 100644 --- a/page/20/index.html +++ b/page/20/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ 参考 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/21/index.html b/page/21/index.html index c1fde70751..e00f850520 100644 --- a/page/21/index.html +++ b/page/21/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1324,7 +1324,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/22/index.html b/page/22/index.html index d4e6e4d0ed..89c58cd912 100644 --- a/page/22/index.html +++ b/page/22/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1349,7 +1349,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/23/index.html b/page/23/index.html index dfaddcefb4..b24a30e76f 100644 --- a/page/23/index.html +++ b/page/23/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1382,7 +1382,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/24/index.html b/page/24/index.html index cf04583138..34ccfc5259 100644 --- a/page/24/index.html +++ b/page/24/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/25/index.html b/page/25/index.html index d4cd5889d7..a5a3b87257 100644 --- a/page/25/index.html +++ b/page/25/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1366,7 +1366,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/26/index.html b/page/26/index.html index a2104bd4cc..75bca31ad4 100644 --- a/page/26/index.html +++ b/page/26/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1401,7 +1401,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/27/index.html b/page/27/index.html index b21893682c..fa50eba302 100644 --- a/page/27/index.html +++ b/page/27/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1358,7 +1358,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/28/index.html b/page/28/index.html index b8c92ba34c..99eb40d706 100644 --- a/page/28/index.html +++ b/page/28/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1354,7 +1354,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/29/index.html b/page/29/index.html index c705ecbc78..46f6b313f3 100644 --- a/page/29/index.html +++ b/page/29/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -487,6 +487,10 @@ Develop + , + + MDL入门 + @@ -603,6 +607,10 @@ Develop + , + + MDL入门 + @@ -1388,7 +1396,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/3/index.html b/page/3/index.html index c7316645f5..615ebc2639 100644 --- a/page/3/index.html +++ b/page/3/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1215,7 +1215,7 @@ - + @@ -1233,7 +1233,7 @@ - JitsiMeet 获取所有的房间列表 + JitsiMeet 进行压力测试 @@ -1267,14 +1267,14 @@ 本文字数: - 3.1k + 1.9k 阅读时长 ≈ - 3 分钟 + 2 分钟 @@ -1285,15 +1285,15 @@ - 当部署 jitsi-meet -后,若与现有的系统进行集成,需要获取当前所有活动的房间列表来方便管理。此时需要通过 -prosody 提供的 lua 插件来实现。 - -本文基于 docker 部署 jitsi-meet - + 当私有化部署 jitsi-meet +后,需要对它进行压力测试来评估其性能,通过官方提供的 jitsi/jitsi-meet-torture +工具来进行测试评估。 +在 windows docker 环境下,未能成功部署测试。最后使用 python 通过 +selenium 来模拟多个用户实现了测试。 - + 阅读全文 » @@ -1346,7 +1346,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/30/index.html b/page/30/index.html index fe66f28533..bd37cc5ad1 100644 --- a/page/30/index.html +++ b/page/30/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1153,7 +1153,7 @@ 更新于 - 2023-07-06 + 2023-09-18 @@ -1365,7 +1365,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/31/index.html b/page/31/index.html index c1b1baa5fe..dc32dc1849 100644 --- a/page/31/index.html +++ b/page/31/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1355,7 +1355,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/32/index.html b/page/32/index.html index 193148f8f1..4a7236e211 100644 --- a/page/32/index.html +++ b/page/32/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - MS 关于 Fraction 的使用说明 + 图形变换 @@ -268,14 +268,14 @@ 本文字数: - 1.9k + 10k 阅读时长 ≈ - 2 分钟 + 9 分钟 @@ -286,11 +286,11 @@ - 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction -来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 + 在利用 MS +二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 - + 阅读全文 » @@ -321,7 +321,7 @@ - + @@ -339,7 +339,7 @@ - 图形变换 + MS 关于 Fraction 的使用说明 @@ -384,14 +384,14 @@ 本文字数: - 10k + 1.9k 阅读时长 ≈ - 9 分钟 + 2 分钟 @@ -402,11 +402,11 @@ - 在利用 MS -二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 + 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction +来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 - + 阅读全文 » @@ -437,7 +437,7 @@ - + @@ -455,7 +455,7 @@ - LearnVue 介绍 + LearnVue 响应式原理 @@ -504,7 +504,7 @@ 本文字数: - 209 + 996 @@ -522,15 +522,22 @@ - 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue -入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 -本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 -当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 -最后,再次感谢 answershuto 的 learnVue。 - + Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 +Vue.js文档 +中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue +通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter +进行依赖收集,而每个 setter +方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 + + + + 阅读全文 » + + + + @@ -556,7 +563,7 @@ - + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -1212,7 +1216,7 @@ - DgnPrimitiveTool 使用文档 + DgnPrimitiveTool 详细说明文档 @@ -1250,14 +1254,14 @@ 本文字数: - 689 + 2.2k 阅读时长 ≈ - 1 分钟 + 2 分钟 @@ -1268,11 +1272,12 @@ - 本文主要总结 DgnPrimitiveTool -的触发逻辑,同时介绍其中的参数设置。 + 本文主要总结 DgnTool 的触发逻辑,同时介绍其中的参数设置。 +它是所有 Tool 的基类,在使用过程中,不能直接派生于它,而是要从 +DgnViewTool 和 DgnPrimitiveTool 派生。 - + 阅读全文 » @@ -1325,7 +1330,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/12/index.html b/page/12/index.html index d351f58a95..116d9db724 100644 --- a/page/12/index.html +++ b/page/12/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - DgnPrimitiveTool 详细说明文档 + DgnPrimitiveTool 使用文档 @@ -261,14 +261,14 @@ 本文字数: - 2.2k + 689 阅读时长 ≈ - 2 分钟 + 1 分钟 @@ -279,12 +279,11 @@ - 本文主要总结 DgnTool 的触发逻辑,同时介绍其中的参数设置。 -它是所有 Tool 的基类,在使用过程中,不能直接派生于它,而是要从 -DgnViewTool 和 DgnPrimitiveTool 派生。 + 本文主要总结 DgnPrimitiveTool +的触发逻辑,同时介绍其中的参数设置。 - + 阅读全文 » @@ -558,7 +557,7 @@ - + @@ -576,7 +575,7 @@ - 几何继承关系层次图 + 如何调用 Microstation 的消息管理器 @@ -603,7 +602,7 @@ , - 几何变换 + 消息中心 @@ -614,14 +613,14 @@ 本文字数: - 14 + 3.3k 阅读时长 ≈ - 1 分钟 + 3 分钟 @@ -632,12 +631,10 @@ - - - + 在进行Bentley二次开发的时候,通常我们需要向用户输出一些信息,比如操作的提示,错误的提示等等,本文特对这些方式进行总结,方便下次随心所欲地使用。 - + 阅读全文 » @@ -668,7 +665,7 @@ - + @@ -686,7 +683,7 @@ - 由浅入深地理解样条曲线 + 几何继承关系层次图 @@ -699,13 +696,6 @@ 2022-05-12 - - - - - 更新于 - 2022-07-06 - @@ -731,14 +721,14 @@ 本文字数: - 10k + 14 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -749,10 +739,12 @@ - 本文简要介绍计算机图图形学中的常用的各个样条曲线,同时梳理他们的之间的关系。 + + + - + 阅读全文 » @@ -783,7 +775,7 @@ - + @@ -801,7 +793,7 @@ - 如何调用 Microstation 的消息管理器 + 由浅入深地理解样条曲线 @@ -814,6 +806,13 @@ 2022-05-12 + + + + + 更新于 + 2022-07-06 + @@ -828,7 +827,7 @@ , - 消息中心 + 几何变换 @@ -839,14 +838,14 @@ 本文字数: - 3.3k + 10k 阅读时长 ≈ - 3 分钟 + 9 分钟 @@ -857,10 +856,10 @@ - 在进行Bentley二次开发的时候,通常我们需要向用户输出一些信息,比如操作的提示,错误的提示等等,本文特对这些方式进行总结,方便下次随心所欲地使用。 + 本文简要介绍计算机图图形学中的常用的各个样条曲线,同时梳理他们的之间的关系。 - + 阅读全文 » @@ -1351,7 +1350,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/13/index.html b/page/13/index.html index 50dae27889..ebd96afe78 100644 --- a/page/13/index.html +++ b/page/13/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -661,7 +661,7 @@ 阅读时长 ≈ - 12 分钟 + 13 分钟 @@ -1375,7 +1375,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/14/index.html b/page/14/index.html index 86b298f1b6..4db9e0df21 100644 --- a/page/14/index.html +++ b/page/14/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1334,7 +1334,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/15/index.html b/page/15/index.html index ded28615d7..52fc3df548 100644 --- a/page/15/index.html +++ b/page/15/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1290,7 +1290,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/16/index.html b/page/16/index.html index 88e110773f..bcf65dc3be 100644 --- a/page/16/index.html +++ b/page/16/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1345,7 +1345,7 @@ 会话 Session - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/17/index.html b/page/17/index.html index 5058727b06..be3e1ea47a 100644 --- a/page/17/index.html +++ b/page/17/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -934,7 +934,7 @@ - + @@ -952,7 +952,7 @@ - 每日学习总结 + 考试复习计划 @@ -982,7 +982,7 @@ 本文字数: - 69 + 818 @@ -1000,10 +1000,10 @@ - 此处记录备考以来的所有情况。 + 通过在一注论坛参考多篇考试经验,自己总结了一套适合自己节奏和复习方案出来,规划如下: - + 阅读全文 » @@ -1034,7 +1034,7 @@ - + @@ -1052,7 +1052,7 @@ - 考试复习计划 + 每日学习总结 @@ -1082,7 +1082,7 @@ 本文字数: - 818 + 69 @@ -1100,10 +1100,10 @@ - 通过在一注论坛参考多篇考试经验,自己总结了一套适合自己节奏和复习方案出来,规划如下: + 此处记录备考以来的所有情况。 - + 阅读全文 » @@ -1134,7 +1134,7 @@ - + @@ -1152,7 +1152,7 @@ - 如何向回调函数中传递参数 + nodejs 环境安装 @@ -1170,7 +1170,7 @@ 更新于 - 2023-07-06 + 2023-04-13 @@ -1186,7 +1186,7 @@ , - JSLanguage + Nodejs @@ -1197,7 +1197,7 @@ 本文字数: - 302 + 0 @@ -1215,16 +1215,8 @@ - 有时候我们需要向回调函数中传递参数,比如在 vue -中父组件向子组件的事件响应函数中传递自定义对象。 - - - - 阅读全文 » - - - - + + @@ -1272,7 +1264,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/18/index.html b/page/18/index.html index fa91270885..923d3bca9f 100644 --- a/page/18/index.html +++ b/page/18/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - nodejs 环境安装 + 如何向回调函数中传递参数 @@ -241,7 +241,7 @@ 更新于 - 2023-04-13 + 2023-07-06 @@ -257,7 +257,7 @@ , - Nodejs + JSLanguage @@ -268,7 +268,7 @@ 本文字数: - 0 + 302 @@ -286,8 +286,16 @@ - - + 有时候我们需要向回调函数中传递参数,比如在 vue +中父组件向子组件的事件响应函数中传递自定义对象。 + + + + 阅读全文 » + + + + @@ -1460,7 +1468,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/19/index.html b/page/19/index.html index 788156e52a..2914b406b0 100644 --- a/page/19/index.html +++ b/page/19/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1811,7 +1811,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/2/index.html b/page/2/index.html index fb79a2b7b6..4ad875bae5 100644 --- a/page/2/index.html +++ b/page/2/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1337,7 +1337,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/20/index.html b/page/20/index.html index e72e582ce5..9b56d75dc0 100644 --- a/page/20/index.html +++ b/page/20/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ 参考 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/21/index.html b/page/21/index.html index c1fde70751..e00f850520 100644 --- a/page/21/index.html +++ b/page/21/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1324,7 +1324,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/22/index.html b/page/22/index.html index d4e6e4d0ed..89c58cd912 100644 --- a/page/22/index.html +++ b/page/22/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1349,7 +1349,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/23/index.html b/page/23/index.html index dfaddcefb4..b24a30e76f 100644 --- a/page/23/index.html +++ b/page/23/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1382,7 +1382,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/24/index.html b/page/24/index.html index cf04583138..34ccfc5259 100644 --- a/page/24/index.html +++ b/page/24/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/25/index.html b/page/25/index.html index d4cd5889d7..a5a3b87257 100644 --- a/page/25/index.html +++ b/page/25/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1366,7 +1366,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/26/index.html b/page/26/index.html index a2104bd4cc..75bca31ad4 100644 --- a/page/26/index.html +++ b/page/26/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1401,7 +1401,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/27/index.html b/page/27/index.html index b21893682c..fa50eba302 100644 --- a/page/27/index.html +++ b/page/27/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1358,7 +1358,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/28/index.html b/page/28/index.html index b8c92ba34c..99eb40d706 100644 --- a/page/28/index.html +++ b/page/28/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1354,7 +1354,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/29/index.html b/page/29/index.html index c705ecbc78..46f6b313f3 100644 --- a/page/29/index.html +++ b/page/29/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -487,6 +487,10 @@ Develop + , + + MDL入门 + @@ -603,6 +607,10 @@ Develop + , + + MDL入门 + @@ -1388,7 +1396,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/3/index.html b/page/3/index.html index c7316645f5..615ebc2639 100644 --- a/page/3/index.html +++ b/page/3/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1215,7 +1215,7 @@ - + @@ -1233,7 +1233,7 @@ - JitsiMeet 获取所有的房间列表 + JitsiMeet 进行压力测试 @@ -1267,14 +1267,14 @@ 本文字数: - 3.1k + 1.9k 阅读时长 ≈ - 3 分钟 + 2 分钟 @@ -1285,15 +1285,15 @@ - 当部署 jitsi-meet -后,若与现有的系统进行集成,需要获取当前所有活动的房间列表来方便管理。此时需要通过 -prosody 提供的 lua 插件来实现。 - -本文基于 docker 部署 jitsi-meet - + 当私有化部署 jitsi-meet +后,需要对它进行压力测试来评估其性能,通过官方提供的 jitsi/jitsi-meet-torture +工具来进行测试评估。 +在 windows docker 环境下,未能成功部署测试。最后使用 python 通过 +selenium 来模拟多个用户实现了测试。 - + 阅读全文 » @@ -1346,7 +1346,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/30/index.html b/page/30/index.html index fe66f28533..bd37cc5ad1 100644 --- a/page/30/index.html +++ b/page/30/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1153,7 +1153,7 @@ 更新于 - 2023-07-06 + 2023-09-18 @@ -1365,7 +1365,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/31/index.html b/page/31/index.html index c1b1baa5fe..dc32dc1849 100644 --- a/page/31/index.html +++ b/page/31/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1355,7 +1355,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/32/index.html b/page/32/index.html index 193148f8f1..4a7236e211 100644 --- a/page/32/index.html +++ b/page/32/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - MS 关于 Fraction 的使用说明 + 图形变换 @@ -268,14 +268,14 @@ 本文字数: - 1.9k + 10k 阅读时长 ≈ - 2 分钟 + 9 分钟 @@ -286,11 +286,11 @@ - 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction -来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 + 在利用 MS +二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 - + 阅读全文 » @@ -321,7 +321,7 @@ - + @@ -339,7 +339,7 @@ - 图形变换 + MS 关于 Fraction 的使用说明 @@ -384,14 +384,14 @@ 本文字数: - 10k + 1.9k 阅读时长 ≈ - 9 分钟 + 2 分钟 @@ -402,11 +402,11 @@ - 在利用 MS -二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 + 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction +来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 - + 阅读全文 » @@ -437,7 +437,7 @@ - + @@ -455,7 +455,7 @@ - LearnVue 介绍 + LearnVue 响应式原理 @@ -504,7 +504,7 @@ 本文字数: - 209 + 996 @@ -522,15 +522,22 @@ - 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue -入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 -本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 -当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 -最后,再次感谢 answershuto 的 learnVue。 - + Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 +Vue.js文档 +中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue +通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter +进行依赖收集,而每个 setter +方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 + + + + 阅读全文 » + + + + @@ -556,7 +563,7 @@ - + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -223,7 +223,7 @@ 星辰大海 - DgnPrimitiveTool 详细说明文档 + DgnPrimitiveTool 使用文档 @@ -261,14 +261,14 @@ 本文字数: - 2.2k + 689 阅读时长 ≈ - 2 分钟 + 1 分钟 @@ -279,12 +279,11 @@ - 本文主要总结 DgnTool 的触发逻辑,同时介绍其中的参数设置。 -它是所有 Tool 的基类,在使用过程中,不能直接派生于它,而是要从 -DgnViewTool 和 DgnPrimitiveTool 派生。 + 本文主要总结 DgnPrimitiveTool +的触发逻辑,同时介绍其中的参数设置。 - + 阅读全文 » @@ -558,7 +557,7 @@ - + @@ -576,7 +575,7 @@ - 几何继承关系层次图 + 如何调用 Microstation 的消息管理器 @@ -603,7 +602,7 @@ , - 几何变换 + 消息中心 @@ -614,14 +613,14 @@ 本文字数: - 14 + 3.3k 阅读时长 ≈ - 1 分钟 + 3 分钟 @@ -632,12 +631,10 @@ - - - + 在进行Bentley二次开发的时候,通常我们需要向用户输出一些信息,比如操作的提示,错误的提示等等,本文特对这些方式进行总结,方便下次随心所欲地使用。 - + 阅读全文 » @@ -668,7 +665,7 @@ - + @@ -686,7 +683,7 @@ - 由浅入深地理解样条曲线 + 几何继承关系层次图 @@ -699,13 +696,6 @@ 2022-05-12 - - - - - 更新于 - 2022-07-06 - @@ -731,14 +721,14 @@ 本文字数: - 10k + 14 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -749,10 +739,12 @@ - 本文简要介绍计算机图图形学中的常用的各个样条曲线,同时梳理他们的之间的关系。 + + + - + 阅读全文 » @@ -783,7 +775,7 @@ - + @@ -801,7 +793,7 @@ - 如何调用 Microstation 的消息管理器 + 由浅入深地理解样条曲线 @@ -814,6 +806,13 @@ 2022-05-12 + + + + + 更新于 + 2022-07-06 + @@ -828,7 +827,7 @@ , - 消息中心 + 几何变换 @@ -839,14 +838,14 @@ 本文字数: - 3.3k + 10k 阅读时长 ≈ - 3 分钟 + 9 分钟 @@ -857,10 +856,10 @@ - 在进行Bentley二次开发的时候,通常我们需要向用户输出一些信息,比如操作的提示,错误的提示等等,本文特对这些方式进行总结,方便下次随心所欲地使用。 + 本文简要介绍计算机图图形学中的常用的各个样条曲线,同时梳理他们的之间的关系。 - + 阅读全文 » @@ -1351,7 +1350,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/13/index.html b/page/13/index.html index 50dae27889..ebd96afe78 100644 --- a/page/13/index.html +++ b/page/13/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -661,7 +661,7 @@ 阅读时长 ≈ - 12 分钟 + 13 分钟 @@ -1375,7 +1375,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/14/index.html b/page/14/index.html index 86b298f1b6..4db9e0df21 100644 --- a/page/14/index.html +++ b/page/14/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1334,7 +1334,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/15/index.html b/page/15/index.html index ded28615d7..52fc3df548 100644 --- a/page/15/index.html +++ b/page/15/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1290,7 +1290,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/16/index.html b/page/16/index.html index 88e110773f..bcf65dc3be 100644 --- a/page/16/index.html +++ b/page/16/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1345,7 +1345,7 @@ 会话 Session - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/17/index.html b/page/17/index.html index 5058727b06..be3e1ea47a 100644 --- a/page/17/index.html +++ b/page/17/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -934,7 +934,7 @@ - + @@ -952,7 +952,7 @@ - 每日学习总结 + 考试复习计划 @@ -982,7 +982,7 @@ 本文字数: - 69 + 818 @@ -1000,10 +1000,10 @@ - 此处记录备考以来的所有情况。 + 通过在一注论坛参考多篇考试经验,自己总结了一套适合自己节奏和复习方案出来,规划如下: - + 阅读全文 » @@ -1034,7 +1034,7 @@ - + @@ -1052,7 +1052,7 @@ - 考试复习计划 + 每日学习总结 @@ -1082,7 +1082,7 @@ 本文字数: - 818 + 69 @@ -1100,10 +1100,10 @@ - 通过在一注论坛参考多篇考试经验,自己总结了一套适合自己节奏和复习方案出来,规划如下: + 此处记录备考以来的所有情况。 - + 阅读全文 » @@ -1134,7 +1134,7 @@ - + @@ -1152,7 +1152,7 @@ - 如何向回调函数中传递参数 + nodejs 环境安装 @@ -1170,7 +1170,7 @@ 更新于 - 2023-07-06 + 2023-04-13 @@ -1186,7 +1186,7 @@ , - JSLanguage + Nodejs @@ -1197,7 +1197,7 @@ 本文字数: - 302 + 0 @@ -1215,16 +1215,8 @@ - 有时候我们需要向回调函数中传递参数,比如在 vue -中父组件向子组件的事件响应函数中传递自定义对象。 - - - - 阅读全文 » - - - - + + @@ -1272,7 +1264,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/18/index.html b/page/18/index.html index fa91270885..923d3bca9f 100644 --- a/page/18/index.html +++ b/page/18/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - nodejs 环境安装 + 如何向回调函数中传递参数 @@ -241,7 +241,7 @@ 更新于 - 2023-04-13 + 2023-07-06 @@ -257,7 +257,7 @@ , - Nodejs + JSLanguage @@ -268,7 +268,7 @@ 本文字数: - 0 + 302 @@ -286,8 +286,16 @@ - - + 有时候我们需要向回调函数中传递参数,比如在 vue +中父组件向子组件的事件响应函数中传递自定义对象。 + + + + 阅读全文 » + + + + @@ -1460,7 +1468,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/19/index.html b/page/19/index.html index 788156e52a..2914b406b0 100644 --- a/page/19/index.html +++ b/page/19/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1811,7 +1811,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/2/index.html b/page/2/index.html index fb79a2b7b6..4ad875bae5 100644 --- a/page/2/index.html +++ b/page/2/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1337,7 +1337,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/20/index.html b/page/20/index.html index e72e582ce5..9b56d75dc0 100644 --- a/page/20/index.html +++ b/page/20/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ 参考 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/21/index.html b/page/21/index.html index c1fde70751..e00f850520 100644 --- a/page/21/index.html +++ b/page/21/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1324,7 +1324,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/22/index.html b/page/22/index.html index d4e6e4d0ed..89c58cd912 100644 --- a/page/22/index.html +++ b/page/22/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1349,7 +1349,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/23/index.html b/page/23/index.html index dfaddcefb4..b24a30e76f 100644 --- a/page/23/index.html +++ b/page/23/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1382,7 +1382,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/24/index.html b/page/24/index.html index cf04583138..34ccfc5259 100644 --- a/page/24/index.html +++ b/page/24/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/25/index.html b/page/25/index.html index d4cd5889d7..a5a3b87257 100644 --- a/page/25/index.html +++ b/page/25/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1366,7 +1366,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/26/index.html b/page/26/index.html index a2104bd4cc..75bca31ad4 100644 --- a/page/26/index.html +++ b/page/26/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1401,7 +1401,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/27/index.html b/page/27/index.html index b21893682c..fa50eba302 100644 --- a/page/27/index.html +++ b/page/27/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1358,7 +1358,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/28/index.html b/page/28/index.html index b8c92ba34c..99eb40d706 100644 --- a/page/28/index.html +++ b/page/28/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1354,7 +1354,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/29/index.html b/page/29/index.html index c705ecbc78..46f6b313f3 100644 --- a/page/29/index.html +++ b/page/29/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -487,6 +487,10 @@ Develop + , + + MDL入门 + @@ -603,6 +607,10 @@ Develop + , + + MDL入门 + @@ -1388,7 +1396,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/3/index.html b/page/3/index.html index c7316645f5..615ebc2639 100644 --- a/page/3/index.html +++ b/page/3/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1215,7 +1215,7 @@ - + @@ -1233,7 +1233,7 @@ - JitsiMeet 获取所有的房间列表 + JitsiMeet 进行压力测试 @@ -1267,14 +1267,14 @@ 本文字数: - 3.1k + 1.9k 阅读时长 ≈ - 3 分钟 + 2 分钟 @@ -1285,15 +1285,15 @@ - 当部署 jitsi-meet -后,若与现有的系统进行集成,需要获取当前所有活动的房间列表来方便管理。此时需要通过 -prosody 提供的 lua 插件来实现。 - -本文基于 docker 部署 jitsi-meet - + 当私有化部署 jitsi-meet +后,需要对它进行压力测试来评估其性能,通过官方提供的 jitsi/jitsi-meet-torture +工具来进行测试评估。 +在 windows docker 环境下,未能成功部署测试。最后使用 python 通过 +selenium 来模拟多个用户实现了测试。 - + 阅读全文 » @@ -1346,7 +1346,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/30/index.html b/page/30/index.html index fe66f28533..bd37cc5ad1 100644 --- a/page/30/index.html +++ b/page/30/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1153,7 +1153,7 @@ 更新于 - 2023-07-06 + 2023-09-18 @@ -1365,7 +1365,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/31/index.html b/page/31/index.html index c1b1baa5fe..dc32dc1849 100644 --- a/page/31/index.html +++ b/page/31/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1355,7 +1355,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/32/index.html b/page/32/index.html index 193148f8f1..4a7236e211 100644 --- a/page/32/index.html +++ b/page/32/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - MS 关于 Fraction 的使用说明 + 图形变换 @@ -268,14 +268,14 @@ 本文字数: - 1.9k + 10k 阅读时长 ≈ - 2 分钟 + 9 分钟 @@ -286,11 +286,11 @@ - 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction -来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 + 在利用 MS +二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 - + 阅读全文 » @@ -321,7 +321,7 @@ - + @@ -339,7 +339,7 @@ - 图形变换 + MS 关于 Fraction 的使用说明 @@ -384,14 +384,14 @@ 本文字数: - 10k + 1.9k 阅读时长 ≈ - 9 分钟 + 2 分钟 @@ -402,11 +402,11 @@ - 在利用 MS -二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 + 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction +来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 - + 阅读全文 » @@ -437,7 +437,7 @@ - + @@ -455,7 +455,7 @@ - LearnVue 介绍 + LearnVue 响应式原理 @@ -504,7 +504,7 @@ 本文字数: - 209 + 996 @@ -522,15 +522,22 @@ - 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue -入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 -本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 -当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 -最后,再次感谢 answershuto 的 learnVue。 - + Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 +Vue.js文档 +中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue +通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter +进行依赖收集,而每个 setter +方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 + + + + 阅读全文 » + + + + @@ -556,7 +563,7 @@ - + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -576,7 +575,7 @@ - 几何继承关系层次图 + 如何调用 Microstation 的消息管理器 @@ -603,7 +602,7 @@ , - 几何变换 + 消息中心 @@ -614,14 +613,14 @@ 本文字数: - 14 + 3.3k 阅读时长 ≈ - 1 分钟 + 3 分钟 @@ -632,12 +631,10 @@ - - - + 在进行Bentley二次开发的时候,通常我们需要向用户输出一些信息,比如操作的提示,错误的提示等等,本文特对这些方式进行总结,方便下次随心所欲地使用。 - + 阅读全文 » @@ -668,7 +665,7 @@ - + @@ -686,7 +683,7 @@ - 由浅入深地理解样条曲线 + 几何继承关系层次图 @@ -699,13 +696,6 @@ 2022-05-12 - - - - - 更新于 - 2022-07-06 - @@ -731,14 +721,14 @@ 本文字数: - 10k + 14 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -749,10 +739,12 @@ - 本文简要介绍计算机图图形学中的常用的各个样条曲线,同时梳理他们的之间的关系。 + + + - + 阅读全文 » @@ -783,7 +775,7 @@ - + @@ -801,7 +793,7 @@ - 如何调用 Microstation 的消息管理器 + 由浅入深地理解样条曲线 @@ -814,6 +806,13 @@ 2022-05-12 + + + + + 更新于 + 2022-07-06 + @@ -828,7 +827,7 @@ , - 消息中心 + 几何变换 @@ -839,14 +838,14 @@ 本文字数: - 3.3k + 10k 阅读时长 ≈ - 3 分钟 + 9 分钟 @@ -857,10 +856,10 @@ - 在进行Bentley二次开发的时候,通常我们需要向用户输出一些信息,比如操作的提示,错误的提示等等,本文特对这些方式进行总结,方便下次随心所欲地使用。 + 本文简要介绍计算机图图形学中的常用的各个样条曲线,同时梳理他们的之间的关系。 - + 阅读全文 » @@ -1351,7 +1350,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/13/index.html b/page/13/index.html index 50dae27889..ebd96afe78 100644 --- a/page/13/index.html +++ b/page/13/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -661,7 +661,7 @@ 阅读时长 ≈ - 12 分钟 + 13 分钟 @@ -1375,7 +1375,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/14/index.html b/page/14/index.html index 86b298f1b6..4db9e0df21 100644 --- a/page/14/index.html +++ b/page/14/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1334,7 +1334,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/15/index.html b/page/15/index.html index ded28615d7..52fc3df548 100644 --- a/page/15/index.html +++ b/page/15/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1290,7 +1290,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/16/index.html b/page/16/index.html index 88e110773f..bcf65dc3be 100644 --- a/page/16/index.html +++ b/page/16/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1345,7 +1345,7 @@ 会话 Session - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/17/index.html b/page/17/index.html index 5058727b06..be3e1ea47a 100644 --- a/page/17/index.html +++ b/page/17/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -934,7 +934,7 @@ - + @@ -952,7 +952,7 @@ - 每日学习总结 + 考试复习计划 @@ -982,7 +982,7 @@ 本文字数: - 69 + 818 @@ -1000,10 +1000,10 @@ - 此处记录备考以来的所有情况。 + 通过在一注论坛参考多篇考试经验,自己总结了一套适合自己节奏和复习方案出来,规划如下: - + 阅读全文 » @@ -1034,7 +1034,7 @@ - + @@ -1052,7 +1052,7 @@ - 考试复习计划 + 每日学习总结 @@ -1082,7 +1082,7 @@ 本文字数: - 818 + 69 @@ -1100,10 +1100,10 @@ - 通过在一注论坛参考多篇考试经验,自己总结了一套适合自己节奏和复习方案出来,规划如下: + 此处记录备考以来的所有情况。 - + 阅读全文 » @@ -1134,7 +1134,7 @@ - + @@ -1152,7 +1152,7 @@ - 如何向回调函数中传递参数 + nodejs 环境安装 @@ -1170,7 +1170,7 @@ 更新于 - 2023-07-06 + 2023-04-13 @@ -1186,7 +1186,7 @@ , - JSLanguage + Nodejs @@ -1197,7 +1197,7 @@ 本文字数: - 302 + 0 @@ -1215,16 +1215,8 @@ - 有时候我们需要向回调函数中传递参数,比如在 vue -中父组件向子组件的事件响应函数中传递自定义对象。 - - - - 阅读全文 » - - - - + + @@ -1272,7 +1264,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/18/index.html b/page/18/index.html index fa91270885..923d3bca9f 100644 --- a/page/18/index.html +++ b/page/18/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - nodejs 环境安装 + 如何向回调函数中传递参数 @@ -241,7 +241,7 @@ 更新于 - 2023-04-13 + 2023-07-06 @@ -257,7 +257,7 @@ , - Nodejs + JSLanguage @@ -268,7 +268,7 @@ 本文字数: - 0 + 302 @@ -286,8 +286,16 @@ - - + 有时候我们需要向回调函数中传递参数,比如在 vue +中父组件向子组件的事件响应函数中传递自定义对象。 + + + + 阅读全文 » + + + + @@ -1460,7 +1468,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/19/index.html b/page/19/index.html index 788156e52a..2914b406b0 100644 --- a/page/19/index.html +++ b/page/19/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1811,7 +1811,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/2/index.html b/page/2/index.html index fb79a2b7b6..4ad875bae5 100644 --- a/page/2/index.html +++ b/page/2/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1337,7 +1337,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/20/index.html b/page/20/index.html index e72e582ce5..9b56d75dc0 100644 --- a/page/20/index.html +++ b/page/20/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ 参考 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/21/index.html b/page/21/index.html index c1fde70751..e00f850520 100644 --- a/page/21/index.html +++ b/page/21/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1324,7 +1324,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/22/index.html b/page/22/index.html index d4e6e4d0ed..89c58cd912 100644 --- a/page/22/index.html +++ b/page/22/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1349,7 +1349,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/23/index.html b/page/23/index.html index dfaddcefb4..b24a30e76f 100644 --- a/page/23/index.html +++ b/page/23/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1382,7 +1382,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/24/index.html b/page/24/index.html index cf04583138..34ccfc5259 100644 --- a/page/24/index.html +++ b/page/24/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/25/index.html b/page/25/index.html index d4cd5889d7..a5a3b87257 100644 --- a/page/25/index.html +++ b/page/25/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1366,7 +1366,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/26/index.html b/page/26/index.html index a2104bd4cc..75bca31ad4 100644 --- a/page/26/index.html +++ b/page/26/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1401,7 +1401,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/27/index.html b/page/27/index.html index b21893682c..fa50eba302 100644 --- a/page/27/index.html +++ b/page/27/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1358,7 +1358,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/28/index.html b/page/28/index.html index b8c92ba34c..99eb40d706 100644 --- a/page/28/index.html +++ b/page/28/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1354,7 +1354,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/29/index.html b/page/29/index.html index c705ecbc78..46f6b313f3 100644 --- a/page/29/index.html +++ b/page/29/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -487,6 +487,10 @@ Develop + , + + MDL入门 + @@ -603,6 +607,10 @@ Develop + , + + MDL入门 + @@ -1388,7 +1396,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/3/index.html b/page/3/index.html index c7316645f5..615ebc2639 100644 --- a/page/3/index.html +++ b/page/3/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1215,7 +1215,7 @@ - + @@ -1233,7 +1233,7 @@ - JitsiMeet 获取所有的房间列表 + JitsiMeet 进行压力测试 @@ -1267,14 +1267,14 @@ 本文字数: - 3.1k + 1.9k 阅读时长 ≈ - 3 分钟 + 2 分钟 @@ -1285,15 +1285,15 @@ - 当部署 jitsi-meet -后,若与现有的系统进行集成,需要获取当前所有活动的房间列表来方便管理。此时需要通过 -prosody 提供的 lua 插件来实现。 - -本文基于 docker 部署 jitsi-meet - + 当私有化部署 jitsi-meet +后,需要对它进行压力测试来评估其性能,通过官方提供的 jitsi/jitsi-meet-torture +工具来进行测试评估。 +在 windows docker 环境下,未能成功部署测试。最后使用 python 通过 +selenium 来模拟多个用户实现了测试。 - + 阅读全文 » @@ -1346,7 +1346,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/30/index.html b/page/30/index.html index fe66f28533..bd37cc5ad1 100644 --- a/page/30/index.html +++ b/page/30/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1153,7 +1153,7 @@ 更新于 - 2023-07-06 + 2023-09-18 @@ -1365,7 +1365,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/31/index.html b/page/31/index.html index c1b1baa5fe..dc32dc1849 100644 --- a/page/31/index.html +++ b/page/31/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1355,7 +1355,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/32/index.html b/page/32/index.html index 193148f8f1..4a7236e211 100644 --- a/page/32/index.html +++ b/page/32/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - MS 关于 Fraction 的使用说明 + 图形变换 @@ -268,14 +268,14 @@ 本文字数: - 1.9k + 10k 阅读时长 ≈ - 2 分钟 + 9 分钟 @@ -286,11 +286,11 @@ - 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction -来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 + 在利用 MS +二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 - + 阅读全文 » @@ -321,7 +321,7 @@ - + @@ -339,7 +339,7 @@ - 图形变换 + MS 关于 Fraction 的使用说明 @@ -384,14 +384,14 @@ 本文字数: - 10k + 1.9k 阅读时长 ≈ - 9 分钟 + 2 分钟 @@ -402,11 +402,11 @@ - 在利用 MS -二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 + 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction +来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 - + 阅读全文 » @@ -437,7 +437,7 @@ - + @@ -455,7 +455,7 @@ - LearnVue 介绍 + LearnVue 响应式原理 @@ -504,7 +504,7 @@ 本文字数: - 209 + 996 @@ -522,15 +522,22 @@ - 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue -入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 -本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 -当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 -最后,再次感谢 answershuto 的 learnVue。 - + Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 +Vue.js文档 +中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue +通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter +进行依赖收集,而每个 setter +方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 + + + + 阅读全文 » + + + + @@ -556,7 +563,7 @@ - + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -686,7 +683,7 @@ - 由浅入深地理解样条曲线 + 几何继承关系层次图 @@ -699,13 +696,6 @@ 2022-05-12 - - - - - 更新于 - 2022-07-06 - @@ -731,14 +721,14 @@ 本文字数: - 10k + 14 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -749,10 +739,12 @@ - 本文简要介绍计算机图图形学中的常用的各个样条曲线,同时梳理他们的之间的关系。 + + + - + 阅读全文 » @@ -783,7 +775,7 @@ - + @@ -801,7 +793,7 @@ - 如何调用 Microstation 的消息管理器 + 由浅入深地理解样条曲线 @@ -814,6 +806,13 @@ 2022-05-12 + + + + + 更新于 + 2022-07-06 + @@ -828,7 +827,7 @@ , - 消息中心 + 几何变换 @@ -839,14 +838,14 @@ 本文字数: - 3.3k + 10k 阅读时长 ≈ - 3 分钟 + 9 分钟 @@ -857,10 +856,10 @@ - 在进行Bentley二次开发的时候,通常我们需要向用户输出一些信息,比如操作的提示,错误的提示等等,本文特对这些方式进行总结,方便下次随心所欲地使用。 + 本文简要介绍计算机图图形学中的常用的各个样条曲线,同时梳理他们的之间的关系。 - + 阅读全文 » @@ -1351,7 +1350,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/13/index.html b/page/13/index.html index 50dae27889..ebd96afe78 100644 --- a/page/13/index.html +++ b/page/13/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -661,7 +661,7 @@ 阅读时长 ≈ - 12 分钟 + 13 分钟 @@ -1375,7 +1375,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/14/index.html b/page/14/index.html index 86b298f1b6..4db9e0df21 100644 --- a/page/14/index.html +++ b/page/14/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1334,7 +1334,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/15/index.html b/page/15/index.html index ded28615d7..52fc3df548 100644 --- a/page/15/index.html +++ b/page/15/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1290,7 +1290,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/16/index.html b/page/16/index.html index 88e110773f..bcf65dc3be 100644 --- a/page/16/index.html +++ b/page/16/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1345,7 +1345,7 @@ 会话 Session - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/17/index.html b/page/17/index.html index 5058727b06..be3e1ea47a 100644 --- a/page/17/index.html +++ b/page/17/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -934,7 +934,7 @@ - + @@ -952,7 +952,7 @@ - 每日学习总结 + 考试复习计划 @@ -982,7 +982,7 @@ 本文字数: - 69 + 818 @@ -1000,10 +1000,10 @@ - 此处记录备考以来的所有情况。 + 通过在一注论坛参考多篇考试经验,自己总结了一套适合自己节奏和复习方案出来,规划如下: - + 阅读全文 » @@ -1034,7 +1034,7 @@ - + @@ -1052,7 +1052,7 @@ - 考试复习计划 + 每日学习总结 @@ -1082,7 +1082,7 @@ 本文字数: - 818 + 69 @@ -1100,10 +1100,10 @@ - 通过在一注论坛参考多篇考试经验,自己总结了一套适合自己节奏和复习方案出来,规划如下: + 此处记录备考以来的所有情况。 - + 阅读全文 » @@ -1134,7 +1134,7 @@ - + @@ -1152,7 +1152,7 @@ - 如何向回调函数中传递参数 + nodejs 环境安装 @@ -1170,7 +1170,7 @@ 更新于 - 2023-07-06 + 2023-04-13 @@ -1186,7 +1186,7 @@ , - JSLanguage + Nodejs @@ -1197,7 +1197,7 @@ 本文字数: - 302 + 0 @@ -1215,16 +1215,8 @@ - 有时候我们需要向回调函数中传递参数,比如在 vue -中父组件向子组件的事件响应函数中传递自定义对象。 - - - - 阅读全文 » - - - - + + @@ -1272,7 +1264,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/18/index.html b/page/18/index.html index fa91270885..923d3bca9f 100644 --- a/page/18/index.html +++ b/page/18/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - nodejs 环境安装 + 如何向回调函数中传递参数 @@ -241,7 +241,7 @@ 更新于 - 2023-04-13 + 2023-07-06 @@ -257,7 +257,7 @@ , - Nodejs + JSLanguage @@ -268,7 +268,7 @@ 本文字数: - 0 + 302 @@ -286,8 +286,16 @@ - - + 有时候我们需要向回调函数中传递参数,比如在 vue +中父组件向子组件的事件响应函数中传递自定义对象。 + + + + 阅读全文 » + + + + @@ -1460,7 +1468,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/19/index.html b/page/19/index.html index 788156e52a..2914b406b0 100644 --- a/page/19/index.html +++ b/page/19/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1811,7 +1811,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/2/index.html b/page/2/index.html index fb79a2b7b6..4ad875bae5 100644 --- a/page/2/index.html +++ b/page/2/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1337,7 +1337,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/20/index.html b/page/20/index.html index e72e582ce5..9b56d75dc0 100644 --- a/page/20/index.html +++ b/page/20/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ 参考 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/21/index.html b/page/21/index.html index c1fde70751..e00f850520 100644 --- a/page/21/index.html +++ b/page/21/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1324,7 +1324,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/22/index.html b/page/22/index.html index d4e6e4d0ed..89c58cd912 100644 --- a/page/22/index.html +++ b/page/22/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1349,7 +1349,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/23/index.html b/page/23/index.html index dfaddcefb4..b24a30e76f 100644 --- a/page/23/index.html +++ b/page/23/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1382,7 +1382,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/24/index.html b/page/24/index.html index cf04583138..34ccfc5259 100644 --- a/page/24/index.html +++ b/page/24/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/25/index.html b/page/25/index.html index d4cd5889d7..a5a3b87257 100644 --- a/page/25/index.html +++ b/page/25/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1366,7 +1366,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/26/index.html b/page/26/index.html index a2104bd4cc..75bca31ad4 100644 --- a/page/26/index.html +++ b/page/26/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1401,7 +1401,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/27/index.html b/page/27/index.html index b21893682c..fa50eba302 100644 --- a/page/27/index.html +++ b/page/27/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1358,7 +1358,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/28/index.html b/page/28/index.html index b8c92ba34c..99eb40d706 100644 --- a/page/28/index.html +++ b/page/28/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1354,7 +1354,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/29/index.html b/page/29/index.html index c705ecbc78..46f6b313f3 100644 --- a/page/29/index.html +++ b/page/29/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -487,6 +487,10 @@ Develop + , + + MDL入门 + @@ -603,6 +607,10 @@ Develop + , + + MDL入门 + @@ -1388,7 +1396,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/3/index.html b/page/3/index.html index c7316645f5..615ebc2639 100644 --- a/page/3/index.html +++ b/page/3/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1215,7 +1215,7 @@ - + @@ -1233,7 +1233,7 @@ - JitsiMeet 获取所有的房间列表 + JitsiMeet 进行压力测试 @@ -1267,14 +1267,14 @@ 本文字数: - 3.1k + 1.9k 阅读时长 ≈ - 3 分钟 + 2 分钟 @@ -1285,15 +1285,15 @@ - 当部署 jitsi-meet -后,若与现有的系统进行集成,需要获取当前所有活动的房间列表来方便管理。此时需要通过 -prosody 提供的 lua 插件来实现。 - -本文基于 docker 部署 jitsi-meet - + 当私有化部署 jitsi-meet +后,需要对它进行压力测试来评估其性能,通过官方提供的 jitsi/jitsi-meet-torture +工具来进行测试评估。 +在 windows docker 环境下,未能成功部署测试。最后使用 python 通过 +selenium 来模拟多个用户实现了测试。 - + 阅读全文 » @@ -1346,7 +1346,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/30/index.html b/page/30/index.html index fe66f28533..bd37cc5ad1 100644 --- a/page/30/index.html +++ b/page/30/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1153,7 +1153,7 @@ 更新于 - 2023-07-06 + 2023-09-18 @@ -1365,7 +1365,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/31/index.html b/page/31/index.html index c1b1baa5fe..dc32dc1849 100644 --- a/page/31/index.html +++ b/page/31/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1355,7 +1355,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/32/index.html b/page/32/index.html index 193148f8f1..4a7236e211 100644 --- a/page/32/index.html +++ b/page/32/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - MS 关于 Fraction 的使用说明 + 图形变换 @@ -268,14 +268,14 @@ 本文字数: - 1.9k + 10k 阅读时长 ≈ - 2 分钟 + 9 分钟 @@ -286,11 +286,11 @@ - 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction -来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 + 在利用 MS +二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 - + 阅读全文 » @@ -321,7 +321,7 @@ - + @@ -339,7 +339,7 @@ - 图形变换 + MS 关于 Fraction 的使用说明 @@ -384,14 +384,14 @@ 本文字数: - 10k + 1.9k 阅读时长 ≈ - 9 分钟 + 2 分钟 @@ -402,11 +402,11 @@ - 在利用 MS -二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 + 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction +来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 - + 阅读全文 » @@ -437,7 +437,7 @@ - + @@ -455,7 +455,7 @@ - LearnVue 介绍 + LearnVue 响应式原理 @@ -504,7 +504,7 @@ 本文字数: - 209 + 996 @@ -522,15 +522,22 @@ - 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue -入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 -本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 -当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 -最后,再次感谢 answershuto 的 learnVue。 - + Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 +Vue.js文档 +中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue +通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter +进行依赖收集,而每个 setter +方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 + + + + 阅读全文 » + + + + @@ -556,7 +563,7 @@ - + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -801,7 +793,7 @@ - 如何调用 Microstation 的消息管理器 + 由浅入深地理解样条曲线 @@ -814,6 +806,13 @@ 2022-05-12 + + + + + 更新于 + 2022-07-06 + @@ -828,7 +827,7 @@ , - 消息中心 + 几何变换 @@ -839,14 +838,14 @@ 本文字数: - 3.3k + 10k 阅读时长 ≈ - 3 分钟 + 9 分钟 @@ -857,10 +856,10 @@ - 在进行Bentley二次开发的时候,通常我们需要向用户输出一些信息,比如操作的提示,错误的提示等等,本文特对这些方式进行总结,方便下次随心所欲地使用。 + 本文简要介绍计算机图图形学中的常用的各个样条曲线,同时梳理他们的之间的关系。 - + 阅读全文 » @@ -1351,7 +1350,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/13/index.html b/page/13/index.html index 50dae27889..ebd96afe78 100644 --- a/page/13/index.html +++ b/page/13/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -661,7 +661,7 @@ 阅读时长 ≈ - 12 分钟 + 13 分钟 @@ -1375,7 +1375,7 @@ - 11:20 + 11:21
- + @@ -952,7 +952,7 @@ - 每日学习总结 + 考试复习计划 @@ -982,7 +982,7 @@ 本文字数: - 69 + 818 @@ -1000,10 +1000,10 @@ - 此处记录备考以来的所有情况。 + 通过在一注论坛参考多篇考试经验,自己总结了一套适合自己节奏和复习方案出来,规划如下: - + 阅读全文 » @@ -1034,7 +1034,7 @@ - + @@ -1052,7 +1052,7 @@ - 考试复习计划 + 每日学习总结 @@ -1082,7 +1082,7 @@ 本文字数: - 818 + 69 @@ -1100,10 +1100,10 @@ - 通过在一注论坛参考多篇考试经验,自己总结了一套适合自己节奏和复习方案出来,规划如下: + 此处记录备考以来的所有情况。 - + 阅读全文 » @@ -1134,7 +1134,7 @@ - + @@ -1152,7 +1152,7 @@ - 如何向回调函数中传递参数 + nodejs 环境安装 @@ -1170,7 +1170,7 @@ 更新于 - 2023-07-06 + 2023-04-13 @@ -1186,7 +1186,7 @@ , - JSLanguage + Nodejs @@ -1197,7 +1197,7 @@ 本文字数: - 302 + 0 @@ -1215,16 +1215,8 @@ - 有时候我们需要向回调函数中传递参数,比如在 vue -中父组件向子组件的事件响应函数中传递自定义对象。 - - - - 阅读全文 » - - - - + + @@ -1272,7 +1264,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/18/index.html b/page/18/index.html index fa91270885..923d3bca9f 100644 --- a/page/18/index.html +++ b/page/18/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - nodejs 环境安装 + 如何向回调函数中传递参数 @@ -241,7 +241,7 @@ 更新于 - 2023-04-13 + 2023-07-06 @@ -257,7 +257,7 @@ , - Nodejs + JSLanguage @@ -268,7 +268,7 @@ 本文字数: - 0 + 302 @@ -286,8 +286,16 @@ - - + 有时候我们需要向回调函数中传递参数,比如在 vue +中父组件向子组件的事件响应函数中传递自定义对象。 + + + + 阅读全文 » + + + + @@ -1460,7 +1468,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/19/index.html b/page/19/index.html index 788156e52a..2914b406b0 100644 --- a/page/19/index.html +++ b/page/19/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1811,7 +1811,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/2/index.html b/page/2/index.html index fb79a2b7b6..4ad875bae5 100644 --- a/page/2/index.html +++ b/page/2/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1337,7 +1337,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/20/index.html b/page/20/index.html index e72e582ce5..9b56d75dc0 100644 --- a/page/20/index.html +++ b/page/20/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ 参考 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/21/index.html b/page/21/index.html index c1fde70751..e00f850520 100644 --- a/page/21/index.html +++ b/page/21/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1324,7 +1324,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/22/index.html b/page/22/index.html index d4e6e4d0ed..89c58cd912 100644 --- a/page/22/index.html +++ b/page/22/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1349,7 +1349,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/23/index.html b/page/23/index.html index dfaddcefb4..b24a30e76f 100644 --- a/page/23/index.html +++ b/page/23/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1382,7 +1382,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/24/index.html b/page/24/index.html index cf04583138..34ccfc5259 100644 --- a/page/24/index.html +++ b/page/24/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/25/index.html b/page/25/index.html index d4cd5889d7..a5a3b87257 100644 --- a/page/25/index.html +++ b/page/25/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1366,7 +1366,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/26/index.html b/page/26/index.html index a2104bd4cc..75bca31ad4 100644 --- a/page/26/index.html +++ b/page/26/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1401,7 +1401,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/27/index.html b/page/27/index.html index b21893682c..fa50eba302 100644 --- a/page/27/index.html +++ b/page/27/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1358,7 +1358,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/28/index.html b/page/28/index.html index b8c92ba34c..99eb40d706 100644 --- a/page/28/index.html +++ b/page/28/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1354,7 +1354,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/29/index.html b/page/29/index.html index c705ecbc78..46f6b313f3 100644 --- a/page/29/index.html +++ b/page/29/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -487,6 +487,10 @@ Develop + , + + MDL入门 + @@ -603,6 +607,10 @@ Develop + , + + MDL入门 + @@ -1388,7 +1396,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/3/index.html b/page/3/index.html index c7316645f5..615ebc2639 100644 --- a/page/3/index.html +++ b/page/3/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1215,7 +1215,7 @@ - + @@ -1233,7 +1233,7 @@ - JitsiMeet 获取所有的房间列表 + JitsiMeet 进行压力测试 @@ -1267,14 +1267,14 @@ 本文字数: - 3.1k + 1.9k 阅读时长 ≈ - 3 分钟 + 2 分钟 @@ -1285,15 +1285,15 @@ - 当部署 jitsi-meet -后,若与现有的系统进行集成,需要获取当前所有活动的房间列表来方便管理。此时需要通过 -prosody 提供的 lua 插件来实现。 - -本文基于 docker 部署 jitsi-meet - + 当私有化部署 jitsi-meet +后,需要对它进行压力测试来评估其性能,通过官方提供的 jitsi/jitsi-meet-torture +工具来进行测试评估。 +在 windows docker 环境下,未能成功部署测试。最后使用 python 通过 +selenium 来模拟多个用户实现了测试。 - + 阅读全文 » @@ -1346,7 +1346,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/30/index.html b/page/30/index.html index fe66f28533..bd37cc5ad1 100644 --- a/page/30/index.html +++ b/page/30/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1153,7 +1153,7 @@ 更新于 - 2023-07-06 + 2023-09-18 @@ -1365,7 +1365,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/31/index.html b/page/31/index.html index c1b1baa5fe..dc32dc1849 100644 --- a/page/31/index.html +++ b/page/31/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1355,7 +1355,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/32/index.html b/page/32/index.html index 193148f8f1..4a7236e211 100644 --- a/page/32/index.html +++ b/page/32/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - MS 关于 Fraction 的使用说明 + 图形变换 @@ -268,14 +268,14 @@ 本文字数: - 1.9k + 10k 阅读时长 ≈ - 2 分钟 + 9 分钟 @@ -286,11 +286,11 @@ - 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction -来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 + 在利用 MS +二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 - + 阅读全文 » @@ -321,7 +321,7 @@ - + @@ -339,7 +339,7 @@ - 图形变换 + MS 关于 Fraction 的使用说明 @@ -384,14 +384,14 @@ 本文字数: - 10k + 1.9k 阅读时长 ≈ - 9 分钟 + 2 分钟 @@ -402,11 +402,11 @@ - 在利用 MS -二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 + 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction +来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 - + 阅读全文 » @@ -437,7 +437,7 @@ - + @@ -455,7 +455,7 @@ - LearnVue 介绍 + LearnVue 响应式原理 @@ -504,7 +504,7 @@ 本文字数: - 209 + 996 @@ -522,15 +522,22 @@ - 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue -入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 -本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 -当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 -最后,再次感谢 answershuto 的 learnVue。 - + Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 +Vue.js文档 +中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue +通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter +进行依赖收集,而每个 setter +方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 + + + + 阅读全文 » + + + + @@ -556,7 +563,7 @@ - + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -1052,7 +1052,7 @@ - 考试复习计划 + 每日学习总结 @@ -1082,7 +1082,7 @@ 本文字数: - 818 + 69 @@ -1100,10 +1100,10 @@ - 通过在一注论坛参考多篇考试经验,自己总结了一套适合自己节奏和复习方案出来,规划如下: + 此处记录备考以来的所有情况。 - + 阅读全文 » @@ -1134,7 +1134,7 @@ - + @@ -1152,7 +1152,7 @@ - 如何向回调函数中传递参数 + nodejs 环境安装 @@ -1170,7 +1170,7 @@ 更新于 - 2023-07-06 + 2023-04-13 @@ -1186,7 +1186,7 @@ , - JSLanguage + Nodejs @@ -1197,7 +1197,7 @@ 本文字数: - 302 + 0 @@ -1215,16 +1215,8 @@ - 有时候我们需要向回调函数中传递参数,比如在 vue -中父组件向子组件的事件响应函数中传递自定义对象。 - - - - 阅读全文 » - - - - + + @@ -1272,7 +1264,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/18/index.html b/page/18/index.html index fa91270885..923d3bca9f 100644 --- a/page/18/index.html +++ b/page/18/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - nodejs 环境安装 + 如何向回调函数中传递参数 @@ -241,7 +241,7 @@ 更新于 - 2023-04-13 + 2023-07-06 @@ -257,7 +257,7 @@ , - Nodejs + JSLanguage @@ -268,7 +268,7 @@ 本文字数: - 0 + 302 @@ -286,8 +286,16 @@ - - + 有时候我们需要向回调函数中传递参数,比如在 vue +中父组件向子组件的事件响应函数中传递自定义对象。 + + + + 阅读全文 » + + + + @@ -1460,7 +1468,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/19/index.html b/page/19/index.html index 788156e52a..2914b406b0 100644 --- a/page/19/index.html +++ b/page/19/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1811,7 +1811,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/2/index.html b/page/2/index.html index fb79a2b7b6..4ad875bae5 100644 --- a/page/2/index.html +++ b/page/2/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1337,7 +1337,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/20/index.html b/page/20/index.html index e72e582ce5..9b56d75dc0 100644 --- a/page/20/index.html +++ b/page/20/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ 参考 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/21/index.html b/page/21/index.html index c1fde70751..e00f850520 100644 --- a/page/21/index.html +++ b/page/21/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1324,7 +1324,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/22/index.html b/page/22/index.html index d4e6e4d0ed..89c58cd912 100644 --- a/page/22/index.html +++ b/page/22/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1349,7 +1349,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/23/index.html b/page/23/index.html index dfaddcefb4..b24a30e76f 100644 --- a/page/23/index.html +++ b/page/23/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1382,7 +1382,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/24/index.html b/page/24/index.html index cf04583138..34ccfc5259 100644 --- a/page/24/index.html +++ b/page/24/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/25/index.html b/page/25/index.html index d4cd5889d7..a5a3b87257 100644 --- a/page/25/index.html +++ b/page/25/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1366,7 +1366,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/26/index.html b/page/26/index.html index a2104bd4cc..75bca31ad4 100644 --- a/page/26/index.html +++ b/page/26/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1401,7 +1401,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/27/index.html b/page/27/index.html index b21893682c..fa50eba302 100644 --- a/page/27/index.html +++ b/page/27/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1358,7 +1358,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/28/index.html b/page/28/index.html index b8c92ba34c..99eb40d706 100644 --- a/page/28/index.html +++ b/page/28/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1354,7 +1354,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/29/index.html b/page/29/index.html index c705ecbc78..46f6b313f3 100644 --- a/page/29/index.html +++ b/page/29/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -487,6 +487,10 @@ Develop + , + + MDL入门 + @@ -603,6 +607,10 @@ Develop + , + + MDL入门 + @@ -1388,7 +1396,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/3/index.html b/page/3/index.html index c7316645f5..615ebc2639 100644 --- a/page/3/index.html +++ b/page/3/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1215,7 +1215,7 @@ - + @@ -1233,7 +1233,7 @@ - JitsiMeet 获取所有的房间列表 + JitsiMeet 进行压力测试 @@ -1267,14 +1267,14 @@ 本文字数: - 3.1k + 1.9k 阅读时长 ≈ - 3 分钟 + 2 分钟 @@ -1285,15 +1285,15 @@ - 当部署 jitsi-meet -后,若与现有的系统进行集成,需要获取当前所有活动的房间列表来方便管理。此时需要通过 -prosody 提供的 lua 插件来实现。 - -本文基于 docker 部署 jitsi-meet - + 当私有化部署 jitsi-meet +后,需要对它进行压力测试来评估其性能,通过官方提供的 jitsi/jitsi-meet-torture +工具来进行测试评估。 +在 windows docker 环境下,未能成功部署测试。最后使用 python 通过 +selenium 来模拟多个用户实现了测试。 - + 阅读全文 » @@ -1346,7 +1346,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/30/index.html b/page/30/index.html index fe66f28533..bd37cc5ad1 100644 --- a/page/30/index.html +++ b/page/30/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1153,7 +1153,7 @@ 更新于 - 2023-07-06 + 2023-09-18 @@ -1365,7 +1365,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/31/index.html b/page/31/index.html index c1b1baa5fe..dc32dc1849 100644 --- a/page/31/index.html +++ b/page/31/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1355,7 +1355,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/32/index.html b/page/32/index.html index 193148f8f1..4a7236e211 100644 --- a/page/32/index.html +++ b/page/32/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - MS 关于 Fraction 的使用说明 + 图形变换 @@ -268,14 +268,14 @@ 本文字数: - 1.9k + 10k 阅读时长 ≈ - 2 分钟 + 9 分钟 @@ -286,11 +286,11 @@ - 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction -来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 + 在利用 MS +二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 - + 阅读全文 » @@ -321,7 +321,7 @@ - + @@ -339,7 +339,7 @@ - 图形变换 + MS 关于 Fraction 的使用说明 @@ -384,14 +384,14 @@ 本文字数: - 10k + 1.9k 阅读时长 ≈ - 9 分钟 + 2 分钟 @@ -402,11 +402,11 @@ - 在利用 MS -二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 + 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction +来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 - + 阅读全文 » @@ -437,7 +437,7 @@ - + @@ -455,7 +455,7 @@ - LearnVue 介绍 + LearnVue 响应式原理 @@ -504,7 +504,7 @@ 本文字数: - 209 + 996 @@ -522,15 +522,22 @@ - 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue -入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 -本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 -当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 -最后,再次感谢 answershuto 的 learnVue。 - + Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 +Vue.js文档 +中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue +通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter +进行依赖收集,而每个 setter +方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 + + + + 阅读全文 » + + + + @@ -556,7 +563,7 @@ - + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -1152,7 +1152,7 @@ - 如何向回调函数中传递参数 + nodejs 环境安装 @@ -1170,7 +1170,7 @@ 更新于 - 2023-07-06 + 2023-04-13 @@ -1186,7 +1186,7 @@ , - JSLanguage + Nodejs @@ -1197,7 +1197,7 @@ 本文字数: - 302 + 0 @@ -1215,16 +1215,8 @@ - 有时候我们需要向回调函数中传递参数,比如在 vue -中父组件向子组件的事件响应函数中传递自定义对象。 - - - - 阅读全文 » - - - - + + @@ -1272,7 +1264,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/18/index.html b/page/18/index.html index fa91270885..923d3bca9f 100644 --- a/page/18/index.html +++ b/page/18/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - nodejs 环境安装 + 如何向回调函数中传递参数 @@ -241,7 +241,7 @@ 更新于 - 2023-04-13 + 2023-07-06 @@ -257,7 +257,7 @@ , - Nodejs + JSLanguage @@ -268,7 +268,7 @@ 本文字数: - 0 + 302 @@ -286,8 +286,16 @@ - - + 有时候我们需要向回调函数中传递参数,比如在 vue +中父组件向子组件的事件响应函数中传递自定义对象。 + + + + 阅读全文 » + + + + @@ -1460,7 +1468,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/19/index.html b/page/19/index.html index 788156e52a..2914b406b0 100644 --- a/page/19/index.html +++ b/page/19/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1811,7 +1811,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/2/index.html b/page/2/index.html index fb79a2b7b6..4ad875bae5 100644 --- a/page/2/index.html +++ b/page/2/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1337,7 +1337,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/20/index.html b/page/20/index.html index e72e582ce5..9b56d75dc0 100644 --- a/page/20/index.html +++ b/page/20/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ 参考 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/21/index.html b/page/21/index.html index c1fde70751..e00f850520 100644 --- a/page/21/index.html +++ b/page/21/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1324,7 +1324,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/22/index.html b/page/22/index.html index d4e6e4d0ed..89c58cd912 100644 --- a/page/22/index.html +++ b/page/22/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1349,7 +1349,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/23/index.html b/page/23/index.html index dfaddcefb4..b24a30e76f 100644 --- a/page/23/index.html +++ b/page/23/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1382,7 +1382,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/24/index.html b/page/24/index.html index cf04583138..34ccfc5259 100644 --- a/page/24/index.html +++ b/page/24/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/25/index.html b/page/25/index.html index d4cd5889d7..a5a3b87257 100644 --- a/page/25/index.html +++ b/page/25/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1366,7 +1366,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/26/index.html b/page/26/index.html index a2104bd4cc..75bca31ad4 100644 --- a/page/26/index.html +++ b/page/26/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1401,7 +1401,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/27/index.html b/page/27/index.html index b21893682c..fa50eba302 100644 --- a/page/27/index.html +++ b/page/27/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1358,7 +1358,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/28/index.html b/page/28/index.html index b8c92ba34c..99eb40d706 100644 --- a/page/28/index.html +++ b/page/28/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1354,7 +1354,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/29/index.html b/page/29/index.html index c705ecbc78..46f6b313f3 100644 --- a/page/29/index.html +++ b/page/29/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -487,6 +487,10 @@ Develop + , + + MDL入门 + @@ -603,6 +607,10 @@ Develop + , + + MDL入门 + @@ -1388,7 +1396,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/3/index.html b/page/3/index.html index c7316645f5..615ebc2639 100644 --- a/page/3/index.html +++ b/page/3/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1215,7 +1215,7 @@ - + @@ -1233,7 +1233,7 @@ - JitsiMeet 获取所有的房间列表 + JitsiMeet 进行压力测试 @@ -1267,14 +1267,14 @@ 本文字数: - 3.1k + 1.9k 阅读时长 ≈ - 3 分钟 + 2 分钟 @@ -1285,15 +1285,15 @@ - 当部署 jitsi-meet -后,若与现有的系统进行集成,需要获取当前所有活动的房间列表来方便管理。此时需要通过 -prosody 提供的 lua 插件来实现。 - -本文基于 docker 部署 jitsi-meet - + 当私有化部署 jitsi-meet +后,需要对它进行压力测试来评估其性能,通过官方提供的 jitsi/jitsi-meet-torture +工具来进行测试评估。 +在 windows docker 环境下,未能成功部署测试。最后使用 python 通过 +selenium 来模拟多个用户实现了测试。 - + 阅读全文 » @@ -1346,7 +1346,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/30/index.html b/page/30/index.html index fe66f28533..bd37cc5ad1 100644 --- a/page/30/index.html +++ b/page/30/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1153,7 +1153,7 @@ 更新于 - 2023-07-06 + 2023-09-18 @@ -1365,7 +1365,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/31/index.html b/page/31/index.html index c1b1baa5fe..dc32dc1849 100644 --- a/page/31/index.html +++ b/page/31/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1355,7 +1355,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/32/index.html b/page/32/index.html index 193148f8f1..4a7236e211 100644 --- a/page/32/index.html +++ b/page/32/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - MS 关于 Fraction 的使用说明 + 图形变换 @@ -268,14 +268,14 @@ 本文字数: - 1.9k + 10k 阅读时长 ≈ - 2 分钟 + 9 分钟 @@ -286,11 +286,11 @@ - 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction -来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 + 在利用 MS +二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 - + 阅读全文 » @@ -321,7 +321,7 @@ - + @@ -339,7 +339,7 @@ - 图形变换 + MS 关于 Fraction 的使用说明 @@ -384,14 +384,14 @@ 本文字数: - 10k + 1.9k 阅读时长 ≈ - 9 分钟 + 2 分钟 @@ -402,11 +402,11 @@ - 在利用 MS -二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 + 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction +来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 - + 阅读全文 » @@ -437,7 +437,7 @@ - + @@ -455,7 +455,7 @@ - LearnVue 介绍 + LearnVue 响应式原理 @@ -504,7 +504,7 @@ 本文字数: - 209 + 996 @@ -522,15 +522,22 @@ - 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue -入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 -本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 -当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 -最后,再次感谢 answershuto 的 learnVue。 - + Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 +Vue.js文档 +中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue +通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter +进行依赖收集,而每个 setter +方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 + + + + 阅读全文 » + + + + @@ -556,7 +563,7 @@ - + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -223,7 +223,7 @@ 星辰大海 - nodejs 环境安装 + 如何向回调函数中传递参数 @@ -241,7 +241,7 @@ 更新于 - 2023-04-13 + 2023-07-06 @@ -257,7 +257,7 @@ , - Nodejs + JSLanguage @@ -268,7 +268,7 @@ 本文字数: - 0 + 302 @@ -286,8 +286,16 @@ - - + 有时候我们需要向回调函数中传递参数,比如在 vue +中父组件向子组件的事件响应函数中传递自定义对象。 + + + + 阅读全文 » + + + + @@ -1460,7 +1468,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/19/index.html b/page/19/index.html index 788156e52a..2914b406b0 100644 --- a/page/19/index.html +++ b/page/19/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1811,7 +1811,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/2/index.html b/page/2/index.html index fb79a2b7b6..4ad875bae5 100644 --- a/page/2/index.html +++ b/page/2/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1337,7 +1337,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/20/index.html b/page/20/index.html index e72e582ce5..9b56d75dc0 100644 --- a/page/20/index.html +++ b/page/20/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ 参考 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/21/index.html b/page/21/index.html index c1fde70751..e00f850520 100644 --- a/page/21/index.html +++ b/page/21/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1324,7 +1324,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/22/index.html b/page/22/index.html index d4e6e4d0ed..89c58cd912 100644 --- a/page/22/index.html +++ b/page/22/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1349,7 +1349,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/23/index.html b/page/23/index.html index dfaddcefb4..b24a30e76f 100644 --- a/page/23/index.html +++ b/page/23/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1382,7 +1382,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/24/index.html b/page/24/index.html index cf04583138..34ccfc5259 100644 --- a/page/24/index.html +++ b/page/24/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1369,7 +1369,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/25/index.html b/page/25/index.html index d4cd5889d7..a5a3b87257 100644 --- a/page/25/index.html +++ b/page/25/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1366,7 +1366,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/26/index.html b/page/26/index.html index a2104bd4cc..75bca31ad4 100644 --- a/page/26/index.html +++ b/page/26/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1401,7 +1401,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/27/index.html b/page/27/index.html index b21893682c..fa50eba302 100644 --- a/page/27/index.html +++ b/page/27/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1358,7 +1358,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/28/index.html b/page/28/index.html index b8c92ba34c..99eb40d706 100644 --- a/page/28/index.html +++ b/page/28/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1354,7 +1354,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/29/index.html b/page/29/index.html index c705ecbc78..46f6b313f3 100644 --- a/page/29/index.html +++ b/page/29/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -487,6 +487,10 @@ Develop + , + + MDL入门 + @@ -603,6 +607,10 @@ Develop + , + + MDL入门 + @@ -1388,7 +1396,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/3/index.html b/page/3/index.html index c7316645f5..615ebc2639 100644 --- a/page/3/index.html +++ b/page/3/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1215,7 +1215,7 @@ - + @@ -1233,7 +1233,7 @@ - JitsiMeet 获取所有的房间列表 + JitsiMeet 进行压力测试 @@ -1267,14 +1267,14 @@ 本文字数: - 3.1k + 1.9k 阅读时长 ≈ - 3 分钟 + 2 分钟 @@ -1285,15 +1285,15 @@ - 当部署 jitsi-meet -后,若与现有的系统进行集成,需要获取当前所有活动的房间列表来方便管理。此时需要通过 -prosody 提供的 lua 插件来实现。 - -本文基于 docker 部署 jitsi-meet - + 当私有化部署 jitsi-meet +后,需要对它进行压力测试来评估其性能,通过官方提供的 jitsi/jitsi-meet-torture +工具来进行测试评估。 +在 windows docker 环境下,未能成功部署测试。最后使用 python 通过 +selenium 来模拟多个用户实现了测试。 - + 阅读全文 » @@ -1346,7 +1346,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/30/index.html b/page/30/index.html index fe66f28533..bd37cc5ad1 100644 --- a/page/30/index.html +++ b/page/30/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1153,7 +1153,7 @@ 更新于 - 2023-07-06 + 2023-09-18 @@ -1365,7 +1365,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/31/index.html b/page/31/index.html index c1b1baa5fe..dc32dc1849 100644 --- a/page/31/index.html +++ b/page/31/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1355,7 +1355,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/32/index.html b/page/32/index.html index 193148f8f1..4a7236e211 100644 --- a/page/32/index.html +++ b/page/32/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - MS 关于 Fraction 的使用说明 + 图形变换 @@ -268,14 +268,14 @@ 本文字数: - 1.9k + 10k 阅读时长 ≈ - 2 分钟 + 9 分钟 @@ -286,11 +286,11 @@ - 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction -来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 + 在利用 MS +二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 - + 阅读全文 » @@ -321,7 +321,7 @@ - + @@ -339,7 +339,7 @@ - 图形变换 + MS 关于 Fraction 的使用说明 @@ -384,14 +384,14 @@ 本文字数: - 10k + 1.9k 阅读时长 ≈ - 9 分钟 + 2 分钟 @@ -402,11 +402,11 @@ - 在利用 MS -二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 + 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction +来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 - + 阅读全文 » @@ -437,7 +437,7 @@ - + @@ -455,7 +455,7 @@ - LearnVue 介绍 + LearnVue 响应式原理 @@ -504,7 +504,7 @@ 本文字数: - 209 + 996 @@ -522,15 +522,22 @@ - 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue -入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 -本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 -当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 -最后,再次感谢 answershuto 的 learnVue。 - + Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 +Vue.js文档 +中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue +通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter +进行依赖收集,而每个 setter +方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 + + + + 阅读全文 » + + + + @@ -556,7 +563,7 @@ - + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -1233,7 +1233,7 @@ - JitsiMeet 获取所有的房间列表 + JitsiMeet 进行压力测试 @@ -1267,14 +1267,14 @@ 本文字数: - 3.1k + 1.9k 阅读时长 ≈ - 3 分钟 + 2 分钟 @@ -1285,15 +1285,15 @@ - 当部署 jitsi-meet -后,若与现有的系统进行集成,需要获取当前所有活动的房间列表来方便管理。此时需要通过 -prosody 提供的 lua 插件来实现。 - -本文基于 docker 部署 jitsi-meet - + 当私有化部署 jitsi-meet +后,需要对它进行压力测试来评估其性能,通过官方提供的 jitsi/jitsi-meet-torture +工具来进行测试评估。 +在 windows docker 环境下,未能成功部署测试。最后使用 python 通过 +selenium 来模拟多个用户实现了测试。 - + 阅读全文 » @@ -1346,7 +1346,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/30/index.html b/page/30/index.html index fe66f28533..bd37cc5ad1 100644 --- a/page/30/index.html +++ b/page/30/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1153,7 +1153,7 @@ 更新于 - 2023-07-06 + 2023-09-18 @@ -1365,7 +1365,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/31/index.html b/page/31/index.html index c1b1baa5fe..dc32dc1849 100644 --- a/page/31/index.html +++ b/page/31/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -1355,7 +1355,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/32/index.html b/page/32/index.html index 193148f8f1..4a7236e211 100644 --- a/page/32/index.html +++ b/page/32/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - MS 关于 Fraction 的使用说明 + 图形变换 @@ -268,14 +268,14 @@ 本文字数: - 1.9k + 10k 阅读时长 ≈ - 2 分钟 + 9 分钟 @@ -286,11 +286,11 @@ - 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction -来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 + 在利用 MS +二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 - + 阅读全文 » @@ -321,7 +321,7 @@ - + @@ -339,7 +339,7 @@ - 图形变换 + MS 关于 Fraction 的使用说明 @@ -384,14 +384,14 @@ 本文字数: - 10k + 1.9k 阅读时长 ≈ - 9 分钟 + 2 分钟 @@ -402,11 +402,11 @@ - 在利用 MS -二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 + 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction +来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 - + 阅读全文 » @@ -437,7 +437,7 @@ - + @@ -455,7 +455,7 @@ - LearnVue 介绍 + LearnVue 响应式原理 @@ -504,7 +504,7 @@ 本文字数: - 209 + 996 @@ -522,15 +522,22 @@ - 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue -入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 -本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 -当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 -最后,再次感谢 answershuto 的 learnVue。 - + Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 +Vue.js文档 +中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue +通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter +进行依赖收集,而每个 setter +方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 + + + + 阅读全文 » + + + + @@ -556,7 +563,7 @@ - + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -223,7 +223,7 @@ 星辰大海 - MS 关于 Fraction 的使用说明 + 图形变换 @@ -268,14 +268,14 @@ 本文字数: - 1.9k + 10k 阅读时长 ≈ - 2 分钟 + 9 分钟 @@ -286,11 +286,11 @@ - 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction -来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 + 在利用 MS +二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 - + 阅读全文 » @@ -321,7 +321,7 @@ - + @@ -339,7 +339,7 @@ - 图形变换 + MS 关于 Fraction 的使用说明 @@ -384,14 +384,14 @@ 本文字数: - 10k + 1.9k 阅读时长 ≈ - 9 分钟 + 2 分钟 @@ -402,11 +402,11 @@ - 在利用 MS -二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 + 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction +来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 - + 阅读全文 » @@ -437,7 +437,7 @@ - + @@ -455,7 +455,7 @@ - LearnVue 介绍 + LearnVue 响应式原理 @@ -504,7 +504,7 @@ 本文字数: - 209 + 996 @@ -522,15 +522,22 @@ - 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue -入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 -本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 -当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 -最后,再次感谢 answershuto 的 learnVue。 - + Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 +Vue.js文档 +中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue +通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter +进行依赖收集,而每个 setter +方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 + + + + 阅读全文 » + + + + @@ -556,7 +563,7 @@ - + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -339,7 +339,7 @@ - 图形变换 + MS 关于 Fraction 的使用说明 @@ -384,14 +384,14 @@ 本文字数: - 10k + 1.9k 阅读时长 ≈ - 9 分钟 + 2 分钟 @@ -402,11 +402,11 @@ - 在利用 MS -二开的时候,图形变换经常用到,下面对图形变换相关知识进行简要总结。如果想更加深入地学习,可以阅读《计算机图形学》 + 在利用 MS 二开的时候,我们经常会等分线段,通常我们会用到 fraction +来操作,在此记录下 MS 中 fraction 小坑,以作提醒。 - + 阅读全文 » @@ -437,7 +437,7 @@ - + @@ -455,7 +455,7 @@ - LearnVue 介绍 + LearnVue 响应式原理 @@ -504,7 +504,7 @@ 本文字数: - 209 + 996 @@ -522,15 +522,22 @@ - 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue -入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 -本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 -当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 -最后,再次感谢 answershuto 的 learnVue。 - + Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 +Vue.js文档 +中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue +通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter +进行依赖收集,而每个 setter +方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 + + + + 阅读全文 » + + + + @@ -556,7 +563,7 @@ - + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -455,7 +455,7 @@ - LearnVue 介绍 + LearnVue 响应式原理 @@ -504,7 +504,7 @@ 本文字数: - 209 + 996 @@ -522,15 +522,22 @@ - 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue -入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 -本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 -当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 -最后,再次感谢 answershuto 的 learnVue。 - + Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 +Vue.js文档 +中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue +通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter +进行依赖收集,而每个 setter +方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 + + + + 阅读全文 » + + + + @@ -556,7 +563,7 @@ - + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -574,7 +581,7 @@ - LearnVue 响应式原理 + LearnVue 介绍 @@ -623,7 +630,7 @@ 本文字数: - 996 + 209 @@ -641,22 +648,15 @@ - Vue.js的响应式原理依赖于 Object.defineProperty,尤大大在 -Vue.js文档 -中就已经提到过,这也是 Vue.js 不支持 IE8 以及更低版本浏览器的原因。Vue -通过设定对象属性的 setter/getter 方法来监听数据的变化,通过 getter -进行依赖收集,而每个 setter -方法就是一个观察者,在数据变更的时候通知订阅者更新视图。 - - - - 阅读全文 » - - - - + 计划系统的对 Vue.js 的源代码进行深入学习。以 learnVue +入门,因为它当前的 star 数已经破 9k了, 肯定是干货满满的。 +本文记录了在学习过程中的一些个人见解,同时,对于以前未涉及的知识点作一个总结和记录,以便今后回顾,如果也有小白恰好看到了这篇文章,希望也能帮到你,节省一些查找资料的时间。 +当然,我所理解的可能会存在偏差,欢迎提留言指出,共同学习,共同进步。 +最后,再次感谢 answershuto 的 learnVue。 + @@ -1424,7 +1424,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/33/index.html b/page/33/index.html index 8524b92c1b..96e9fb8ae5 100644 --- a/page/33/index.html +++ b/page/33/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -540,7 +540,7 @@ - + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/34/index.html b/page/34/index.html index 6e5f2e7cc8..41ed0f9a80 100644 --- a/page/34/index.html +++ b/page/34/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -326,7 +326,7 @@ - + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -558,7 +558,7 @@ - RESTful API 规范 + 最全最详细 http 状态码介绍 @@ -599,14 +599,14 @@ 本文字数: - 67 + 11k 阅读时长 ≈ - 1 分钟 + 10 分钟 @@ -617,10 +617,20 @@ - HTTP状态码: -摘抄至: -http://www.ruanyifeng.com/blog/2014/05/restful_api.html - + HTTP 响应状态代码指示特定 HTTP +请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 +(500–599)。状态代码由 section 10 of RFC +2616定义 + + + + 阅读全文 » + + + + @@ -646,7 +656,7 @@ - + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21
- + @@ -664,7 +674,7 @@ - 最全最详细 http 状态码介绍 + RESTful API 规范 @@ -705,14 +715,14 @@ 本文字数: - 11k + 67 阅读时长 ≈ - 10 分钟 + 1 分钟 @@ -723,20 +733,10 @@ - HTTP 响应状态代码指示特定 HTTP -请求是否已成功完成。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 -(500–599)。状态代码由 section 10 of RFC -2616定义 - - - - 阅读全文 » - - - - + HTTP状态码: +摘抄至: +http://www.ruanyifeng.com/blog/2014/05/restful_api.html + @@ -1356,7 +1356,7 @@ - 11:20 + 11:21
- + @@ -344,7 +344,7 @@ - WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter + WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator @@ -393,7 +393,7 @@ 本文字数: - 1.2k + 1.3k @@ -411,17 +411,24 @@ - 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool -值隐藏/显示一个元素。您可以使用 DataTriggers -或使用转换器来实现这一点。 - - - - 阅读全文 » - - - - + +Caliburn.Micro 附带了一个名为 IoC +的静态服务定位器。这让你可以从代码中的任何地方访问 IoC +容器,就像这样: +12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); +Stylet +没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 +IoC +的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 +IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 +Stylet 中重新架构,因此内部不再需要IoC。 +如果你真的需要 IoC +的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 +IoC。首先创建这个静态 IoC 类: +123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} +然后在引导程序中添加下面的代码: +123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} + @@ -447,7 +454,7 @@ - + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -465,7 +472,7 @@ - WPF MVVM Stylet使用文档(中文)19-4 IoC:Static Service Locator + WPF MVVM Stylet使用文档(中文)19-3 BoolToVisibilityConverter @@ -514,7 +521,7 @@ 本文字数: - 1.3k + 1.2k @@ -532,24 +539,17 @@ - -Caliburn.Micro 附带了一个名为 IoC -的静态服务定位器。这让你可以从代码中的任何地方访问 IoC -容器,就像这样: -12var vm = IoC.Get<MyDialogViewModel>();this.windowManager.ShowDialog(vm); -Stylet -没有包含这个,而且有很好的理由:我不想鼓励人们编写如此糟糕的代码。服务定位器模式经常被称为反模式。现在每个类都有一个对 -IoC -的依赖(而不是它所依赖的实际类),您不能仅通过查看类的构造函数就知道它的依赖关系是什么,相反,您必须遍历代码以才能得知它对IoC.Get的调用。 -IoC 也在 Caliburn 内部使用导致产生了一些糟糕的设计选择。这些已经在 -Stylet 中重新架构,因此内部不再需要IoC。 -如果你真的需要 IoC -的支持(尽管它会导致糟糕的代码风格),那么你可以很容易地编写自己的 -IoC。首先创建这个静态 IoC 类: -123456789101112131415161718public static class IoC{ public static Func<Type, string, object> GetInstance = (service, key) => { throw new InvalidOperationException("IoC is not initialized"); }; public static Func<Type, IEnumerable<object>> GetAllInstances = service => { throw new InvalidOperationException("IoC is not initialized"); }; public static Action<object> BuildUp = instance => { throw new InvalidOperationException("IoC is not initialized"); }; public static T Get<T>(string key = null) { return (T)GetInstance(typeof(T), key); } public static IEnumerable<T> GetAll<T>() { return GetAllInstances(typeof(T)).Cast<T>(); }} -然后在引导程序中添加下面的代码: -123456protected override void Configure(){ IoC.GetInstance = this.Container.Get; IoC.GetAllInstances = this.Container.GetAll; IoC.BuildUp = this.Container.BuildUp;} - + 在几乎每个项目中,我都需要根据 ViewModel 中的一些 bool +值隐藏/显示一个元素。您可以使用 DataTriggers +或使用转换器来实现这一点。 + + + + 阅读全文 » + + + + @@ -858,7 +858,7 @@ - + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -876,7 +876,7 @@ - WPF MVVM Stylet使用文档(中文)12-BindableCollection + WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase @@ -921,14 +921,14 @@ 本文字数: - 908 + 9.9k 阅读时长 ≈ - 1 分钟 + 9 分钟 @@ -939,16 +939,11 @@ - 概述(Overview) -BindableCollection<T> 是 ObservableCollection<T> -的一个子类。如果你在你的 ViewModel -中有一个集合,并且想要将它用作你视图中的某个控件的 -ItemsSource -等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 + 简介(Introduction) +想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 - + 阅读全文 » @@ -979,7 +974,7 @@ 概述(Overview) - + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -997,7 +992,7 @@ 概述(Overview) - WPF MVVM Stylet使用文档(中文)13-Validation Use ValidatingModelBase + WPF MVVM Stylet使用文档(中文)12-BindableCollection @@ -1042,14 +1037,14 @@ 本文字数: - 9.9k + 908 阅读时长 ≈ - 9 分钟 + 1 分钟 @@ -1060,11 +1055,16 @@ - 简介(Introduction) -想象这个场景……用户正在填写您精心编写的表单,他们在应该输入电子邮件地址的地方输入了自己的名字。您需要检测这个问题,并以清晰的方式显示问题。 + 概述(Overview) +BindableCollection<T> 是 ObservableCollection<T> +的一个子类。如果你在你的 ViewModel +中有一个集合,并且想要将它用作你视图中的某个控件的 +ItemsSource +等等,那么你就可以使用这个类(当一个项目被添加到/从集合中移除时,视图会得到通知)。 - + 阅读全文 » @@ -1331,7 +1331,7 @@ - + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -1349,7 +1349,7 @@ - WPF MVVM Stylet使用文档(中文)17-Design Mode Support + WPF MVVM Stylet使用文档(中文)18-Logging @@ -1394,14 +1394,14 @@ 本文字数: - 7.8k + 1.2k 阅读时长 ≈ - 7 分钟 + 1 分钟 @@ -1412,17 +1412,14 @@ - 简介(Introduction) -“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 -Expression Blend 中时,显示的是 XAML -的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 -ViewModel 的一些虚拟值。 -Stylet -对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 -XAML 特性来增强设计时体验的说明。 + 简介 +有时候,查看 Stylet +在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 +值得庆幸的是,Stylet +可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 - + 阅读全文 » @@ -1475,7 +1472,7 @@ 简介(Introduction) - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/35/index.html b/page/35/index.html index 1de31b0483..3872708d88 100644 --- a/page/35/index.html +++ b/page/35/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 + 首页关于标签215分类114归档407导航 搜索 @@ -159,7 +159,7 @@ 星辰大海 - 113 + 114 分类 @@ -205,7 +205,7 @@ 星辰大海 - + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -223,7 +223,7 @@ 星辰大海 - WPF MVVM Stylet使用文档(中文)18-Logging + WPF MVVM Stylet使用文档(中文)17-Design Mode Support @@ -268,14 +268,14 @@ 本文字数: - 1.2k + 7.8k 阅读时长 ≈ - 1 分钟 + 7 分钟 @@ -286,14 +286,17 @@ - 简介 -有时候,查看 Stylet -在幕后做了什么是很有用的,特别是当它没有做一些你期望它做的事情,或者做一些意想不到的事情的时候。 -值得庆幸的是,Stylet -可以很容易地配置来生成日志输出,因此您可以了解它在做什么。 + 简介(Introduction) +“设计模式”或“设计时”指的是项目加载到 Visual Studio XAML 设计器或 +Expression Blend 中时,显示的是 XAML +的呈现版本。大多数情况下,设计人员不会尝试评和估任何绑定,也不会为它们提供任何智能感知。然而,通过一些配置,您可以获得可爱的智能感知,并在视图中显示来自 +ViewModel 的一些虚拟值。 +Stylet +对设计模式有一些基本的支持。本文记录了它,并提供了如何使用它以及如何利用现有的 +XAML 特性来增强设计时体验的说明。 - + 阅读全文 » @@ -561,7 +564,7 @@ 简介 - + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -579,7 +582,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)05-Actions + WPF MVVM Stylet使用文档(中文)06-The WindowManager @@ -624,14 +627,14 @@ 本文字数: - 6k + 1.8k 阅读时长 ≈ - 5 分钟 + 2 分钟 @@ -642,11 +645,12 @@ - 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions -完全可以解决这种问题。 + 在传统的 "视图优先" +的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 +. show() 或 .showdialog()。 - + 阅读全文 » @@ -677,7 +681,7 @@ - + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -695,7 +699,7 @@ - WPF MVVM Stylet使用文档(中文)06-The WindowManager + WPF MVVM Stylet使用文档(中文) 07- MessageBox @@ -740,7 +744,7 @@ 本文字数: - 1.8k + 2.6k @@ -758,12 +762,15 @@ - 在传统的 "视图优先" -的方式中,如果您想要显示一个新窗口或对话框,您需要创建一个视图的新实例,然后调用 -. show() 或 .showdialog()。 + 简介 +我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 +ViewModel中调用它(好吧,你可以,但它使你的 ViewModel +不可测试)。网上常见的解决办法是“实现你自己的消息框”。 +好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF +的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 - + 阅读全文 » @@ -794,7 +801,7 @@ - + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -812,7 +819,7 @@ - WPF MVVM Stylet使用文档(中文) 07- MessageBox + WPF MVVM Stylet使用文档(中文)08-The EventAggregator @@ -857,14 +864,14 @@ 本文字数: - 2.6k + 3.6k 阅读时长 ≈ - 2 分钟 + 3 分钟 @@ -876,14 +883,10 @@ 简介 -我们都知道,WPF有自己的消息框实现——“System.Windows.MessageBox”。这很好,除了你不能从你的 -ViewModel中调用它(好吧,你可以,但它使你的 ViewModel -不可测试)。网上常见的解决办法是“实现你自己的消息框”。 -好吧,Stylet 自带了自己的 MessageBox 克隆,它的外观和行为几乎与 WPF -的一样(包括外观、按钮、图标、自动调整大小、声音、对齐等)。 +事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 - + 阅读全文 » @@ -914,7 +917,7 @@ 简介 - + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -932,7 +935,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)08-The EventAggregator + WPF MVVM Stylet使用文档(中文)05-Actions @@ -977,14 +980,14 @@ 本文字数: - 3.6k + 6k 阅读时长 ≈ - 3 分钟 + 5 分钟 @@ -995,11 +998,11 @@ - 简介 -事件聚合器——EventAggregator——是一个分散的、弱绑定的、基于发布/订阅的事件管理器。 + 你有一个按钮,你想点击它并在 ViewModel 上执行一个方法? Actiions +完全可以解决这种问题。 - + 阅读全文 » @@ -1145,7 +1148,7 @@ - + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -1163,7 +1166,7 @@ - WPF MVVM Stylet使用文档(中文)04-ViewModel First + WPF MVVM Stylet使用文档(中文)03-Bootstrapper @@ -1208,7 +1211,7 @@ 本文字数: - 3.6k + 3k @@ -1227,12 +1230,11 @@ 简介 -ViewModel-first 方式对于 Stylet -的体系结构非常重要,但是如果您以传统的 View-first -方式学习MVVM,就会发现它并不直观。 +引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel +的新实例,并使用 WindowManager 显示它。 - + 阅读全文 » @@ -1263,7 +1265,7 @@ 简介 - + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +
- + @@ -1281,7 +1283,7 @@ 简介 - WPF MVVM Stylet使用文档(中文)03-Bootstrapper + WPF MVVM Stylet使用文档(中文)04-ViewModel First @@ -1326,7 +1328,7 @@ 本文字数: - 3k + 3.6k @@ -1345,11 +1347,12 @@ 简介 -引导程序负责启动应用程序。它配置 IoC 容器,创建根 ViewModel -的新实例,并使用 WindowManager 显示它。 +ViewModel-first 方式对于 Stylet +的体系结构非常重要,但是如果您以传统的 View-first +方式学习MVVM,就会发现它并不直观。 - + 阅读全文 » @@ -1402,7 +1405,7 @@ 简介 - 11:20 + 11:21 由 Hexo & NexT.Gemini 强力驱动 diff --git a/page/36/index.html b/page/36/index.html index 59d81a2908..42b783678d 100644 --- a/page/36/index.html +++ b/page/36/index.html @@ -88,7 +88,7 @@ 星辰大海 - 首页关于标签215分类113归档407导航 +