mcpField
S
syncfusion-wpf-color-picker-palette

syncfusion-wpf-color-picker-palette

github.com/syncfusion开发5160 次安装1 周前更新
代码仓库

关于 syncfusion-wpf-color-picker-palette

介绍 Syncfusion WPF ColorPickerPalette 控件的实现,涵盖颜色来源、选择模式、自定义和选择交互,适用于需要可视化颜色输入的应用。

主要功能

  1. 01主题、标准、自定义和最近使用的颜色
  2. 02下拉、调色板和拆分模式
  3. 03面板、尺寸与图标设置
  4. 04选择事件与命令绑定
  5. 05支持 RTL 和键盘导航
  6. 06透明色与更多颜色选项

适用场景

  1. 01将所选颜色应用于文本格式
  2. 02为形状填充选择自定义品牌色
  3. 03显示主题颜色变体
  4. 04快速重用最近选择的颜色

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-color-picker-palette

安装后在 Claude Code 中输入/syncfusion-wpf-color-picker-palette确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
appearance-customization.md
color-management.md
events-interactions.md
getting-started.md

详细介绍

实现 WPF ColorPickerPalette

ColorPickerPalette 是一款功能丰富的颜色选择控件,提供可视化调色板界面,包含主题色、标准色、自定义颜色和扩展颜色选项。当你需要实现支持灵活自定义的颜色选择功能时,可使用此技能。

适用场景

在以下情况下使用 ColorPickerPalette:

  • 允许用户从预定义调色板(主题色、标准色、自定义颜色)中选择颜色
  • 显示最近使用的颜色
  • 提供“更多颜色”选项,支持扩展选择
  • 自定义颜色面板及其可见性
  • 处理颜色选择事件
  • 支持 RTL 流向
  • 启用透明色或“无颜色”选项

组件概述

ColorPickerPalette 提供:

  • 多种颜色来源: 主题色、标准色、自定义颜色、最近使用的颜色
  • 灵活的模式: 下拉(默认)、调色板(展开)、拆分(按钮 + 下拉)
  • 丰富的自定义选项: 面板可见性、尺寸、图标、标题、主题
  • 事件支持: SelectedBrushChanged 事件和 SelectedCommand 绑定
  • 无障碍支持: 工具提示支持、键盘导航、RTL 支持

文档导航指南

入门

📄 阅读: references/getting-started.md

  • 安装和程序集引用
  • 通过设计器、XAML 和 C# 添加 ColorPickerPalette
  • 控件结构和关键属性
  • 以编程方式设置初始颜色
  • 主题和本地化支持
颜色管理

📄 阅读: references/color-management.md

  • 以编程方式访问和更改颜色
  • 使用颜色画刷
  • 自动颜色默认值
  • 透明色选择
  • 主题色变体和标准色
  • 自定义颜色集合
  • 最近使用的颜色面板
外观与自定义

📄 阅读: references/appearance-customization.md

  • 流向(RTL)支持
  • 面板可见性选项(主题色、标准色、自定义颜色、最近使用的颜色)
  • 显示模式(Dropdown、Palette、Split)
  • 调整颜色项和调色板的大小
  • 自定义图标及其尺寸
  • 自定义标题模板
事件与交互

📄 阅读: references/events-interactions.md

  • 处理 SelectedBrushChanged 事件
  • SelectedCommand 绑定模式
  • “无颜色”按钮功能
  • 颜色名称的工具提示支持
  • “更多颜色”窗口交互
  • 自定义标题模板

快速入门示例


<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:syncfusion="http://schemas.syncfusion.com/wpf" 
        Title="ColorPickerPalette Sample">
    <Grid>
        
        <syncfusion:ColorPickerPalette x:Name="colorPickerPalette" 
                                       Color="Red"
                                       GenerateThemeVariants="True"
                                       GenerateStandardVariants="True"
                                       RecentlyUsedPanelVisibility="Visible"
                                       Width="60" 
                                       Height="40" />
    </Grid>
</Window>

C# 代码隐藏文件:

using Syncfusion.Windows.Tools.Controls;

public partial class MainWindow : Window {
    public MainWindow() {
        InitializeComponent();

        // Handle color selection
        colorPickerPalette.SelectedBrushChanged += ColorPickerPalette_SelectedBrushChanged;
    }

    private void ColorPickerPalette_SelectedBrushChanged(object sender, SelectedBrushChangedEventArgs e) {
        var newColor = e.NewColor;
        var newBrush = e.NewBrush;
        // Apply color to UI elements
    }
}

常见模式

  • 颜色面板自定义: 设置 ThemePanelVisibility、StandardPanelVisibility、RecentlyUsedPanelVisibility、MoreColorOptionVisibility,以控制显示哪些面板
  • 自定义颜色集合: 将 CustomColorsCollection 属性绑定到 ObservableCollection<CustomColor>,并设置 SetCustomColors="True"
  • 带命令的拆分模式: 设置 Mode="Split" 并绑定 SelectedCommand,以实现按钮行为和下拉访问
  • 展开的调色板模式: 设置 Mode="Palette",使调色板始终可见;调整 BorderWidth/BorderHeight 以设置颜色项的尺寸

完整示例请参阅 appearance-customization.md 和 events-interactions.md。


主要属性

属性类型用途
ColorColor获取/设置所选颜色(默认值:Black)
SelectedBrushBrush获取/设置所选画刷
ModePickerMode下拉、调色板或拆分模式
ThemesPaletteThemeOffice、Apex、Metro 等
GenerateThemeVariantsbool显示/隐藏主题颜色变体
GenerateStandardVariantsbool显示/隐藏标准颜色变体
CustomColorsCollectionObservableCollection<CustomColor>自定义颜色项
SetCustomColorsbool启用自定义颜色显示
BorderWidth / BorderHeightdouble颜色项尺寸
PopupWidth / PopupHeightdouble调色板弹出窗口大小
RecentlyUsedPanelVisibilityVisibility显示最近选择的颜色
ThemePanelVisibilityVisibility显示主题颜色
StandardPanelVisibilityVisibility显示标准颜色
MoreColorOptionVisibilityVisibility显示“更多颜色”按钮
NoColorVisibilityVisibility显示透明/无颜色按钮
AutomaticColorColor默认重置颜色

常见用例

  • 文本颜色选择器: 使用下拉模式搭配标准/主题颜色,并通过 SelectedBrushChanged 应用格式
  • 形状填充选择器: 使用拆分模式搭配自定义品牌颜色,并绑定 SelectedCommand
  • 主题颜色选择器: 使用调色板模式,并设置 GenerateThemeVariants="True" 以显示颜色变体
  • 颜色历史面板: 启用 RecentlyUsedPanelVisibility="Visible",以便快速访问最近使用的颜色

后续步骤

  1. 从基础开始: 阅读 getting-started.md,设置 ColorPickerPalette
  2. 自定义颜色: 使用 color-management.md 管理颜色来源
  3. 设置控件样式: 应用 appearance-customization.md 中的自定义设置
  4. 处理交互: 根据 events-interactions.md 实现事件处理

评论

支持 Markdown