Overview

Picker editors provide UI-friendly selection interfaces for complex property types in the Visual Studio Properties window:

ThemePickerDialog

Displays a grid of theme previews with thumbnails (generated by ThemePreviewHelper). Users can browse, preview, and select themes visually rather than typing theme names.

  • Thumbnail grid with theme names
  • Search/filter by theme name
  • Preview on hover
  • Categories: Light, Dark, High Contrast, Custom

IconPickerDialog

Visual icon browser for selecting icons from the Beep icon catalog (IconsManagement/IconCatalog.cs).

  • Categorized icon grid (Actions, Navigation, Data, Media, etc.)
  • Search by icon name
  • Preview at multiple sizes
  • Integrates with SvgResourcePathHelper for resource resolution

ColorPaletteEditor

Color palette picker with Material Design / Fluent color sets:

  • Palette presets (Material, Fluent, Tailwind, Custom)
  • Shade/variant selection (50-900 scale)
  • Custom color creation via color wheel
  • Recent colors list

PainterSelectorEditor

Picker for selecting painter implementations (e.g., for ListBox, Grid, Chart). Shows available painters with previews.

  • Filters to available painters for the control type
  • Preview of each painter style
  • Category organization

StyleSelectorEditor

Picker for BeepControlStyle values. Shows visual examples of each style variant.

Examples

// Properties window integration:
[Editor(typeof(ThemePickerDialog), typeof(UITypeEditor))]
public string Theme { get; set; }

[Editor(typeof(IconPickerDialog), typeof(UITypeEditor))]
public string IconPath { get; set; }

[Editor(typeof(ColorPaletteEditor), typeof(UITypeEditor))]
public Color AccentColor { get; set; }