我正在探索图形库的可能性WinUi 3。我对改变小部件(控件,换句话说就是视图)显示的能力特别感兴趣。但是在浏览了文档后,我很惊讶我无法快速找到对小部件自定义渲染的支持。我什至查看了反汇编的库(实现Control、FrameworkElement等Button)——我在任何地方都没有看到绘图方法。渲染模型不清楚,库如何绘制控件以及如何自己覆盖渲染?
我正在探索图形库的可能性WinUi 3。我对改变小部件(控件,换句话说就是视图)显示的能力特别感兴趣。但是在浏览了文档后,我很惊讶我无法快速找到对小部件自定义渲染的支持。我什至查看了反汇编的库(实现Control、FrameworkElement等Button)——我在任何地方都没有看到绘图方法。渲染模型不清楚,库如何绘制控件以及如何自己覆盖渲染?
在控件的自定义渲染方面,WinUI3 与 WPF 完全不同,在 WinUI3 中没有像 OnRender 这样允许更改渲染的方法,并且它们不太可能出现在 1.0 版本中。
原则上,现在唯一的方法是使用 DirectWrite 及其在 WinUI3 DWriteCore 下的实现
https://docs.microsoft.com/en-us/windows/apps/windows-app-sdk/dwritecore
但这是一种非常低级的方式,不是很方便。
来自 WinUi 开发人员的 PS 小补充 ( https://github.com/microsoft/microsoft-ui-xaml/issues/6050 )