用途:解决 AvaloniaUI 中 RadialGradientBrush 的兼容性问题。AvaloniaUI 与 WPF 不同,当 GradientOrigin 与 Center 取值不同时无法正常工作,相关议题为 AvaloniaUI/Avalonia#19888(GradientOrigin 与 Center 不同且首个 Stop 为 Transparent 时失效)。
主要能力与流程:
- 检测:在 WPF XAML 中查找 <RadialGradientBrush> 元素,比较 GradientOrigin 与 Center 属性值。
- 不一致时询问用户:必须向用户提供选择,说明当前 GradientOrigin 与 Center 值,并让用户决定统一为哪一个值(统一为 GradientOrigin,或统一为 Center)。
- 转换:按用户选择把两个属性设为同一值,其余属性如 RadiusX、RadiusY 与 GradientStop 保持不变。
示例:原 WPF 为 GradientOrigin="20%,20%" Center="28%,28%",选择 GradientOrigin 时改为两者均为 20%,20%;选择 Center 时改为两者均为 28%,28%。
限制与注意:用户选择前不得擅自修改数值;若只显式给出 GradientOrigin 或 Center 之一,未给出的属性自动设为已给出的值;两者已相同时无需修改。资料未提供安装命令、收费与平台信息。