lindexi

林德熙 - Windows 10 App Developer

林德熙

WPF 列表右键菜单比较符合 MVVM 的命令绑定方法

群里小伙伴问我如何在 ListView 的右击的时候知道右击的是哪一项,他想要获取对应的行信息。他使用的是 GridView 做的,于是我告诉他需要自己写 ItemContainerStyle 在 GridViewRowPresenter 里添加右键的逻辑。但是这样写不清真,我问到了他的本质问题其实只是想要做右键菜单。刚好我在写一个测试应用,用于测试我的文件下载库,此时需要用到在右击某一个下载项的时候,拿到当前下载项的信息,给出右键菜单。我不使用小伙伴的逻辑,就按照我自己会采用的写法,我认为这样写比较符合 WPF 框架的设计,下面让我告诉大家我的用法,十分简单

Xamarin.Forms 选取文件 让用户选择本地文件

在 Xamarin 中,使用文件存储或打开某个特定文件都是很常用的做法,而在跨平台中,每个平台都有自己的 IO 的坑。如何在 Xamarin.Froms 里面让用户可以选择打开哪个本文文件,需要照顾多个不同的平台的文件访问方式

Xamarin 和 WPF 的控件和属性的替换

基本上 Xamarin 和 WPF 的技术是相同的,但是有一些小细节和属性不同,本文记录一些不同的点,方便小伙伴将 WPF 项目迁移为 Xamarin 项目

Xamarin 构建安卓失败 因为路径太长

如果将自己的应用放的路径比较深,那么构建安卓的时候可能因为路径超过长度失败

Xamarin 构建提示 error APT2260 resource 找不到资源

其实这是 VisualStudio 逗比的问题,尝试关闭 VisualStudio 然后干掉 Bin 和 Obj 文件夹,然后先开启安卓模拟器,然后重新构建就可以了。如果一次重新构建失败,那么再次右击重新生成就可以了

Xamarin 解决创建空白项目编译提示 linking references 找不到资源

在新建一个 Xamarin 应用,编译时提示了 linking references 和一些诡异的文件无法访问,原因是文件路径问题和 NuGet 还原问题

Xamarin iOS 切换开发者账号之后的签名标识和预配配置文件更新方法

其实这一篇和 Xamarin 开发几乎没有关系,这是苹果开发的一个坑。在原有开发者账号下的设备上,切换为另一个开发者账号,此时的部署也许会找错 预配配置 文件和证书。苹果:渣渣开发者,这是特性

Xamarin.Forms 按钮样式 圆角按钮

在 Xamarin 中可以通过 CornerRadius 设置按钮使用圆角

Xamarin Forms WPF 干掉默认的窗口导航条

在创建默认的 Xamarin Forms WPF 应用,将和 UWP 应用的界面不相同,在 WPF 项目会显示顶部蓝色的一条,看起来不好看,那么可以如何干掉他

C# 写一个24点计算程序

我在和小伙伴玩 24 点这个游戏,但是我的计算速度比他慢,于是我就写了一个作弊的程序

C# 反射判断属性是抽象继承

我在写一个有趣的 WPF 软件可以通过 dll 反射重新生成代码,我需要了解dll里面每个属性是抽象的还是继承的还是虚属性

C# 纯控制台创建一个全屏窗口

本文告诉大家如何使用 win32 方法创建一个全屏的窗口

C# 里面很少人知道但很好用的 Tuple 转换

小伙伴们都知道有 Tuple 但是很少有小伙伴只有原来从一个类转换为一个 Tuple 的方式如此简洁,在 C# 最新版本里面提供了一组语法糖,可以便捷给任意的类扩展转换为元组的能力

dotnet C# 使用阿里函数计算服务

现在有很多函数计算服务,通过函数计算服务可以在服务上运行自己的代码,而不需要理会服务器的部署以及运行代码存在的并发问题。这些问题都会在云进行计算。使用阿里的函数计算服务可以使用 dotnet core 2.1 的框架,同时测试使用免费。本文告诉搭建如何在阿里的函数计算服务上运行自己的代码

dotnet C# 图片等比限制最大和最小大小缩放算法

本文只是告诉大家如何计算缩放之后的宽度和高度,不包含实际的图片缩放方法

dotnet C# 如何不联网下快速获取一段url链接里面读取文件名

在不联网情况下,从 url 获取文件名也就是只能靠 url 本身了,如果是 get 的链接很多链接后面都是带上了文件名,那么如何用最短的代码获取链接里面的文件名

dotnet C# 如何让 Json 序列化数组时序列化继承类的属性

如果我使用的是具体的数组而我的数组是基类数组,而我传入子类的元素进行 json 序列化,可能发现 Json.NET 序列化没有包含子类元素的属性。如果要包含子类的属性或字段,可以在序列化的类数组定义为 object 数组的方式

dotnet CBB 为什么决定推送 Tag 才能打包

通过推送 Tag 才打 NuGet 包的方法的作用不仅仅是让打包方便,让打包这个动作可以完全在本地执行,无需关注其他系统的使用步骤。更重要的是可以强制每个可能被安装的 NuGet 包版本都能有一个和他对应的 Tag 号,原因是为了解决回退到某个版本发现有一个坑,这个坑是因为某个依赖库的版本问题,此时我期望最小改动,我虽然能拿到这个库的代码,但是我很难知道我这个版本安装的 NuGet 库对应依赖库的哪个 commit 的代码

从 DX 层面讲 WPF 渲染卡顿

这不是一篇深入底层的博客,很多细节还请看 DX 底层相关

从 gitlab 配置管理聊聊团队项目管理

每个团队都有适合各自的管理方法,本文仅记录我现在的团队所使用的项目管理方法。本文主要聊的是通过 gitlab 的里程碑以及 git 的分支管理项目的开发和送测的代码合并问题

让 snoop 支持 .NET Core WPF 调试

在最新的 snoop 3.0.0-alpha0116 版支持了 .NET Core 的 WPF 的调试,只需要下载安装最新版本就可以

开源公共组件仓库的更新日志应该如何写

在 GitHub 或 Gitlab 等开源的公共组件仓库里面,应该需要维护更新日志 CHANGELOG.md 文档,方便让用户和开发人员更简单明确的知晓项目在不同版本之间有哪些显著变动。但是没有任何一个能说服所有人的 更新日志 一定需要维护的原因,以及 更新日志 的文档格式

asp dotnet core 不正经的提升效率的单元测试方法

在写 asp dotnet core 时,如果没有单元测试保证,需要每个方法都从 web api 的入口开始运行,此时的执行效率是很低的。而如果写单元测试,又有一个坑的问题是写单元测试也是需要时间的。本文告诉大家一些提高效率的方法,这些方法不是正经的用法,但是能提升效率。至于能不能用好不好用就请观众老爷自己决定

asp dotnet core 从零开始创建一个 WebApi 服务

本文将从最简单开始,新从全控制台开始创建一个 WebApi 服务,然后再使用 VisualStudio 创建服务

Xamarin iOS 部署版本大于手机的系统版本

我觉得苹果肯定会坑我,如果我敢更新我的手机系统的话。苹果觉得像我这样的开发者就应该拖出去打靶,整个手机没几个应用是从应用商店下载的。但是作为开发者,我在使用 Xamarin 部署我的云输入法,在第一步创建的时候需要我使用 XCode 新建一个项目,而新建的项目默认都是需要使用更新版本的系统,此时部署将会失败。本文告诉大家一个简单的方法解决这个问题

Xamarin iOS 部署项目提示 Failed to register bundle identifier 失败

这是我在开始部署其他小伙伴的 Xamarin 项目时,在 VS 上提示的失败如下: Failed to register bundle identifier: The app identifier “com.walterlv.CloudKeyboard” cannot be registered to your development team because it is not available. Change your bundle identifier to a unique string to try again 。 这个提示的提示就是 Bundle Identifier 不对,原因有很多个,本文将一一告诉你

Xamarin XamlCTask 任务不支持 ValidateOnly 参数

使用 Xamarin 项目,添加一个额外的库项目,被 Xamarin.Form 引用,构建时提示“XamlCTask”任务不支持“ValidateOnly”参数。请确认该参数存在于此任务中,并且是可设置的公共实例属性

Xamarin 使用 GTK 提示找不到 libglib-2.0-0.dll 找不到

在使用 Xamarin 开发 Linux 应用的时候,刚开始如果没有弄好 libglib-2.0-0.dll 的依赖库,那么将会在运行的时候,在 Gtk.Application.Init() 这句代码提示找不到这个库

Xamarin 从零开始部署 iOS 上的 Walterlv.CloudKeyboard 应用

本文将告诉大家如何从零开始在 iOS 上部署 Walterlv.CloudKeyboard 应用。这个 Walterlv.CloudKeyboard 应用是一个云输入法应用,在 GitHub 完全开源,采用 Xamarin 开发,用途是让手机接收电脑端的打字输入的输入法。因为我没有在 iOS 上找到任何一款稍微能用的输入法,因此只能拜托太子帮我开发一款应用了。太子很给力,帮我开发完成了,但现在的问题就是我如何在我的手机上部署。本文将记录我的部署步骤

Xamarin Forms 进度条控件

本文翻译:http://xamlnative.com/2016/04/14/xamarin-forms-a-simple-circular-progress-control/ 里面都是胡说的,如果看不懂可以联系邮箱 源代码:https://github.com/billreiss/xamlnative/tree/master/XamarinForms/CircularProgress 最近作者需要做一个简单的圆形的等待控件在一个Xamarin Forms应用,效果可以看 这里写图片描述

Xamarin Forms 4.7 支持更简化的 Grid 行列布局写法

尽管非官方提供的 Grid 行列简化版本特别多,但是在最近这样的简写方法才被合并到了主仓库。整个 Xamarin Forms 都是开源的,任何小伙伴都可以发布自己的私有版本。也因此有很多有趣的小伙伴说,我这么好的功能就是不想放在官方,我只是用的爽就可以了。不过,也有很多小伙伴十分慷慨,我就是要放在官方,让更多的小伙伴用的爽。本文要和大家介绍的是一个用起来爽的功能

Xamarin Forms 构建 WPF 版项目失败提示 XamlC error XFC0000 错误

在 Xamarin Forms 从 4.7 到 4.8.0.1560 版本,在 Xamarin Forms 构建 WPF 版项目也许会提示 XamlC error XFC0000 : Cannot resolve type “Application” 构建失败

Xamarin iOS 部署应用提示 iOS code signing key 失败

在部署 iOS 应用的时候,如果是拉别人的代码,因为被使用了别人的签名,就会提示 Error: iOS code signing key ‘iPhone Developer: lindexi@icloud.com (F56JH45N57)’ not found in keychain. 部署失败。解决方法是替换为自己的账号

为什么使用 GUID 做文件名不是好主意

在创建随机文件使用的时候,文件的命名是神坑,我看到一些代码里面使用 GUID 作为文件名,这不是一个好主意。推荐的做法应该使用 Path.GetRandomFileName 方法

为何 WPF 对 vcruntime140 有引用

通过阅读 WPF 官方开源仓库的代码和文档,可以了解到在进行独立发布的时候会在仓库里面带上 vcruntime140 的原因