博客
关于我
WPF 后面板设置16进制颜色,透明;
阅读量:666 次
发布时间:2019-03-15

本文共 1084 字,大约阅读时间需要 3 分钟。

在WPF应用程序中,如果你需要根据ComboBox的选项动态改变颜色,可以按照以下步骤进行:

  • 获取颜色信息:在ComboBox的SelectionChanged事件中,访问SelectedValue属性来获取选中的颜色名称。

  • 确认来源对象:确保事件处理器是针对ComboBox对象的。可以在事件参数中检查e.Source是否是ComboBox。

  • 提取颜色名称:从选中的颜色名称中提取实际的颜色部分,避免包含任何额外的信息。

  • 转换颜色:使用ColorConverter.ConvertFromString方法将提取的颜色名称转换为Color对象。确保在定义CultureInfo.InvariantCulture以避免格式问题。

  • 应用颜色:将获取到的颜色对象赋值为目标控件的Foreground或Background属性。

  • 以下是一个样例代码:

    private void comboColor_SelectionChanged(object sender, SelectionChangedEventArgs e){    if (e.Source is ComboBox)    {        ComboBox combo = e.Source as ComboBox;        string colorName = combo.SelectedValue.ToString();        int startIndex = colorName.IndexOf("Color,") + 4; // 假设选项格式为 "Color,HexValue"        string hexColor = colorName.Substring(startIndex);        Color color = (Color)ColorConverter.ConvertFromString(hexColor, CultureInfo.InvariantCulture);        // 应用颜色到目标控件        targetTextBlock.Foreground = new SolidColorBrush(color);    }}

    注意事项

    • 如果ComboBox的选项中包含透明度信息,确保提取的字符串仅包含颜色部分。
    • 在转换颜色时,使用正确的文化信息格式设置,以避免转换错误。
    • 确保目标控件支持赋值颜色对象,如使用New SolidColorBrush(color)而不是直接赋值颜色。

    通过以上步骤,你可以按照需求动态改变控件颜色。

    转载地址:http://xxxmz.baihongyu.com/

    你可能感兴趣的文章
    pymongo删除操作
    查看>>
    PyMongo按多个关键点分组
    查看>>
    Pympress:强大的双屏PDF阅读器
    查看>>
    pymysql.err.InternalError: (1054, "Unknown column '27D24A3B' in 'where clause'")之错误解决
    查看>>
    pymysql.err.OperationalError: (1364, “Field ‘id‘ doesn‘t have a default value“)
    查看>>
    Pytorch Tensor 维度操作的形象理解 Tensor.unsqueeze() Tensor.squeeze()
    查看>>
    PyMySQL库对Mysql数据库进行增删改查与工具类封装
    查看>>
    pynput的基本介绍和使用
    查看>>
    pyodbc 通过 IIS7 连接到 MSSQL 2005 服务器
    查看>>
    PyPI 存储库中的 JarkaStealer:深入解析与防范措施
    查看>>
    Pyplot tutorial,Pyplot官方教程自翻译
    查看>>
    PyQ5学习笔记——使用内部槽函数关闭窗口
    查看>>
    PyQ5学习笔记——使用自定义槽函数关闭窗口
    查看>>
    PyQt MimeData 文件名
    查看>>
    PyQt QML Material Design 按钮背景不会改变
    查看>>
    PyQt QString转成python stirng
    查看>>
    PyQt QToolButton在焦点时不更新图标
    查看>>
    PyQt 正确使用 emit() 和 pyqtSignal()
    查看>>
    PyQT-将文件复制到剪贴板
    查看>>
    PYQT.如何在QTableView中插入小部件
    查看>>