Avatar ·

如何在C#中从HEX代码获取颜色(WPF和WinForms)?

大家好,各位同事!我是一名初学C#的开发者,正在编写一个用于查看图片的小型WPF应用程序。我需要用户能够在文本框中以HEX代码的形式输入背景颜色(例如#FFAABB或仅AABBCC),然后程序更改窗口的背景。 问题在于,我找不到在.NET中将类似"#FF4500"的字符串转换为Color或Brush对象的标准方法。我尝试过谷歌搜索,但遇到了各种临时解决方案——有人手动解析字符串,有人使用ColorTranslator,但它在WPF中不起作用。在WinForms中似乎有ColorTranslator.FromHtml,但我是在WPF下编写的。 以下是我当前无法正常工作的代码: ```csharp string hexColor = "#FF5733"; // 尝试获取颜色 Color color = Color.FromRgb(0xFF, 0x57, 0x33); // 仅适用于静态值 // 如何直接传递hex字符串? Background = new SolidColorBrush(color); ``` 请告诉我如何在.NET中正确且安全地将HEX字符串转换为颜色(最好针对WPF,但不仅限于此)。