我真的觉得 Win UI 3 是烂到不行的产物,还是不如 WPF,就像 @Scighost 大佬所说的那样:
人家微软也有理由说的,我开发的是什么框架,是最新一代的框架;你让我封装的是什么东西,是 Win32 的老古董。哦哟,谢天谢地了。WinUI 3 现在什么水平,改个窗口都这么麻烦,它能火吗?火不了,没这个能力知道吗。有 WPF 珠玉在前,拿什么跟人家比,不被砍掉就算成功了。
在加之国内互联网 .NET 桌面端环境...这个 Answer 找到了下次还不一定能找到呢!
其它坑先不说,先说说如何获取用户的系统颜色模式吧
首先我们需要 Import 一个 DLL, 然后就是一个消费性函数
[DllImport("UXTheme.dll", SetLastError = true, EntryPoint = "#138")]
public static extern bool GetUserSystemTheme();
然后你就可以快乐的引用它了, 当它返回 True
时代表用户是深色模式, False
就是浅色模式