lindexi

林德熙 - Windows 10 App Developer

林德熙

Unity3d 2019.3 通过 Ctrl 键让移动是固定步距

默认在 Unity3d 通过 w 的移动的时候,是根据鼠标的移动距离移动物体,此时做对齐就不好玩了。通过按下 ctrl 键盘,然后再拖动物体移动,此时就可以设置移动是固定的步频

win10 uwp 用广告赚钱

微软干掉了广告平台,因此不用想用广告赚钱了

WPF 触摸屏应用需要了解的知识

我从 2017 进入大屏触摸这个行业,主要是做桌面软件这一块。在大屏交互平板这个行业里面的还能看的上去的应用,都是使用 WPF 做的。本文就来和大家聊聊在触摸屏应用开发的时候需要了解的软硬件知识。阅读本文你将能大概了解这个行业的一点知识

win10 uwp Fluent Design System 实践

本文告诉大家我收集的一些 Fluent Design System 设计,希望能给大家一些帮助 需要知道 Fluent Design System 是微软在最近提出的,有 Light、Depth、Motion、Material、Scale 几个理念,Fluent Design System的简称是 FDS。如何设计请看 Build Amazing Apps with Fluent Design

dotnet 配置 Gitlab 的 CI 找不到 Runner 或找错的可能原因

使用 Gitlab 的 CI 但是任务没有执行,提示找不到 Runner 或者找错了 Runner 服务器,请看本文,从上到下看,是否有坑

C# dotnet 在内存中的 double 的 NAN 和正负无穷二进制是如何存

我就好奇无穷大和 NAN 在 C# 的二进制是如何表示的

C# dotnet 一个看上去还能用的二进制序列化帮助类

这仅是一个辅助方法帮助类,可以协助小伙伴写二进制序列化的效率,代码也还看的过去

WPF 设置窗口不跟随触摸惯性拖动抖动

默认在触摸滑动 ListView 等控件的时候,如果滑动到控件底部,会让 WPF 窗口也跟随触摸惯性滑动

C# dotnet 一个还看的过去的 B 树实现

我尝试找到一个 B 树的实现,尽管这个东西十分简单,但是依然网上有很多不同的版本。我在 justcoding121 的版本上魔改了一下,就是本文可以用来给大家的版本

dotnet 配合 GitHub 的 Action 做自动推 Tag 时打包 NuGet 包

被微软收购的 GitHub 越来越好用,拥有大量免费的工具资源和构建服务器资源,再加上私有项目的无限制使用,我有大量的项目都在向 GitHub 迁移。通过 GitHub 的 Action 的自动构建,可以用上微软土豪的服务器资源,进行自动化测试和构建。对于 CBB 来说,发布就是打出 NuGet 包然后上传到内部 NuGet 服务器。此时遇到的问题是,如何在 GitHub 上执行打包,打包的时候如何指定 NuGet 包的版本号。因为 CBB 的特殊性,我要求每个 NuGet 正式发布的包都应该有一个对应的 Tag 号,这样将 NuGet 库安装到项目里面,之后发现问题了还能找到对应版本的代码

C# dotnet 自己实现一个线程同步上下文

昨天鹏飞哥问了我一个问题,为什么在控制台程序的主线程等待某个线程执行完成之后回来,是在其他线程执行的。而 WPF 在等待某个线程执行完成之后,可以回到主线程执行。其实这是因为在 WPF 和 WinForms 和 ASP.NET 框架里面都自己实现了线程同步上下文,通过线程同步上下文做到调度线程执行。本文就来和小伙伴聊一下如何自己实现一个线程同步上下文

二阶熵

小伙伴都知道熵是代表某个系统的混乱程度,而熵值本身是没有啥可以进行衡量的。本文所说的二阶熵仅是一个定义,方便后续我的吹水,用来表示一个混乱的等级

C# CLR 聊聊对象的内存布局 一个空对象占用多少内存

在 C# 中的对象大概可以分为三个不同的类型,包括值类型、引用类型和其他类型。本文主要讨论的是引用类型对内存空间的占用情况。在讨论开始之前我想问问大家,一个空的对象会占用多少内存空间?当然这个问题本身就有问题,因为没有区分栈空间与堆空间的内存空间。其实小伙伴会发现这不是一个好回答的问题,因为似乎没有一个可以认为标准的标准答案。请让我为你详细聊聊对象的内存布局

dotnet 一些代码审查套路

本文记录一些代码审查套路,在看到小伙伴写出某些代码的时候可以告诉他这样写有锅

Unity 2019.3 将 RenderTexture 绑定到相机和物体作出镜子效果

在 Unity 的 RenderTexture 是一个特殊的纹理,这个纹理是渲染器纹理,可以用于关联摄像机画面和物体,做到在物体上附加某个摄像机画面的纹理

WPF 获取某个窗口的所有子窗口

如果不用到 Win32 方法,可以尝试遍历所有窗口获取 Owner 判断,不过此方法仅仅适合只有一个主线程

C# dotnet WeakLazy 弱引用的延迟初始化实现方法

本文来告诉大家如何实现一个 WeakLazy 方法

C# dotnet TypeForwarding 的用法

在 CLR 中提供这样的支持,某个类从程序集 A 放到了程序集 B 里面,可以通过一些黑科技让类型就像原本就在程序集 A 一样。用这个方法可以比较好的解决兼容性的问题

C# dotnet 本地代码构建没问题,但 CI 自动构建失败可能的原因

本地构建能通过至少代码上的问题不大,本文列举了一些可能的原因,小伙伴可以按照顺序依次查看代码和配置

C# dotnet 创建对象附加属性定义 支持附加任意类型

在 dotnet 中,通过 dotnetCampus.ClrAttachedProperty 库,可以实现给任意对象附加任意属性。以及实现创建对象的附加属性定义,使用相同的附加属性定义才能访问相同的附加属性值。在使用过 WPF 的小伙伴一定对附加属性不陌生,在 WPF 框架中很强大的一个功能就是附加属性,而针对于 WPF 框架外的 dotnet 其实也能做到相同的设计,支持定义对象附加属性

用自动机的思想说明时间断片是无法感知的

用自动机可以模拟出一个世界,虽然这个世界是虚拟的,但这个世界里面将会根据基础的自动机规则自动推算出很多有趣的规则。同时也能很简单理解在自动机模拟的世界里面,在这个世界里面的生物是无法感知时间断片的

Roslyn 引用某个文件夹所有文件作为链接

在 SDK 格式的项目文件可以通过简单代码引用某个文件夹里面指定后缀的文件作为项目文件

WPF 获取进程启动到当前现在的时间

从应用程序线程创建现在的时间可以通过 Process 类的 StartTime 属性获取,也就是其实这个方法不局限 WPF 可用,任何 dotnet 应用都能此方法

WPF 新建用户控件提示 Error MC3000 首个 xaml 字符不合法

在 WPF 新建用户用户控件时,偶尔的 VS 版本会逗你,给你创建了一个编码不对或偷偷给你的文件第一个字符添加了一个不可见字符,此时将会构建不通过

Unity3D 判断点击命中物体对象和命中环境

我想要做到点击物体的时候显示一些内容,而点击环境或其他游戏物体的时候隐藏一些内容

WPF 使用 RenderTargetBitmap 快速截图出现 COMException 提示

本文告诉大家一个最简单步骤让 RenderTargetBitmap 出现 COMException 提示

dotnet 字典类找不到 TryAdd 方法

我在给 dotnet 的 runtime 仓库提PR时,小伙伴告诉我可以使用 TryAdd 方法减少判断,但是我修改这个代码发现 100 个自动化测试都失败了,都告诉我没有找到这个方法

dotnet 给任意对象附加任意属性的库

在使用 dotnet 的时候,有时候会期望某个类多添加一个属性,但是这个类可能是放在引用库里面不能直接修改,或者添加一个属性会影响这个类的设计。那么有没有方法和 WPF 一样支持给任意对象附加任意的属性?本文告诉大家一个好用的库,用来给任意的对象附加任意的属性

How to generate NuGet package with Git Tag version using GitHub Action

We can trigger the GitHub Action by Git tag pushed and we can read the Git tag name as the version. And then we can generate the NuGet package with this version.

在 VisualStudio 给文件起一个带分号的文件名会怎样

小伙伴都知道在 Windows 下是支持文件名使用分号的,而写过 Roslyn 的小伙伴都知道,在 csproj 项目里面使用分号分割数组。那么在 VS 里面将一个文件名添加分号会如何?下面让咱写写看

dotnet ConditionalWeakTable 的底层原理

在 dotnet 中有一个特殊的类,这个类能够做到附加属性一样的功能。也就是给某个对象附加一个属性,当这个对象被回收的时候,自然解除附加的属性的对象的引用。本文就来聊聊这个类的底层原理

GitHub 的 Action 判断仅在主仓库才执行脚本

我有一个 GitHub 项目,这个项目配置了仅需要在源仓库才能执行的 Action 如推送 NuGet 等发布动作。如何在 Action 里面设置让 Fork 的仓库不执行 Action 的步骤

GitHub 的 Action 如何禁用

我 Fork 了小伙伴的 ant-design-blazor 仓库,这个仓库设置了每天自动同步样式,这个 Action 用到了源仓库的密钥,在我 Fork 的仓库一定跑不通过,于是每天我就收到一次构建不通过的信息。本文告诉大家如何禁用自己 Fork 的某个仓库的 Action 的执行

win10 支持默认把触摸提升 Pointer 消息

在 WPF 经常需要重写一套触摸事件,没有UWP的Pointer那么好用。 如果一直都觉得 WPF 的触摸做的不好,或想解决 WPF 的触摸问题,但是没有方法,那么请看下面。