Skip to content

Feature/valueconverters#193

Merged
davidkallesen merged 9 commits into
mainfrom
feature/valueconverters
May 12, 2026
Merged

Feature/valueconverters#193
davidkallesen merged 9 commits into
mainfrom
feature/valueconverters

Conversation

@davidkallesen

Copy link
Copy Markdown
Contributor

No description provided.

…nsion

- Add EnumParameterMatcher accepting Enum, string, comma-list, or IEnumerable
- Extend EnumToVisibility{Visible,Collapsed}ValueConverter to delegate to it
- Add EnumValuesExtension markup extension for type-safe enum arrays in XAML
- Add ConnectionStateToColor/Brush/Text converters with per-state overrides
- Color converter is source of truth; brush converter caches and rebuilds
- Sample pages let user edit each color via ColorPicker (entry-VM pattern)
- Color converters expose Default* + mutable static props + Set/Get/Reset
- Brush converters derive from color via cache that rebuilds on change
- Add sample pages with editable ColorPicker per state
- Remove empty ValueConvertersView placeholder from sample tree
…hapes

- Add table of contents
- New "Advanced parameter shapes" section with examples for Enum->Visibility
  multi-value, Double->GridLength, Bool->Width, Thickness side selection,
  Regex validation, EnumDescription case formatter, MultiBinding window
  buttons, and LogLevel/LogCategoryType palette overrides
…erters

- Add BindingFallbacks central Color/Brush sentinel for binding failures
- Add BoolTo: BoolToOpacity, BoolToInverseOpacity, BoolToObject
- Add EnumTo: EnumToBool, EnumToInverseBool, EnumFlagsToBool/Visibility(Collapsed|Visible)
- Add NumberTo: NumberToFileSizeString, NumberToPercentString, NumericComparisonToVisibility(Collapsed|Visible)
- Add ObjectTo: ObjectToTypeNameValueConverter
- Add StringTo: PathToFilename, StringEqualsToBool
- Add TimeTo: DateTimeToRelativeString, TimeSpanToHumanReadableString
- LogLevel/LogCategoryType color converters delegate fallback to BindingFallbacks
- Tighten remarks/cref docs on IsNull/IsNotNull, MethodToValueConverter, RectangleCircular,
  BackgroundToForeground, ColorToBrush, BrushToColor, ColorToSolidColor, ColorName converters
Apply roadmap I-series polish across all libraries:

- I-1: documentation refinements (remarks, cref links, examples)
- I-2: canonical NotSupportedException message "This is a OneWay converter."
- Add missing [ValueConversion] attributes
- Ensure public static Instance fields where appropriate

Touches Atc.Wpf.Components, Atc.Wpf.Controls, Atc.Wpf.FontIcons,
Atc.Wpf.Forms, Atc.Wpf.Hardware, Atc.Wpf.Network, Atc.Wpf.Theming.
- Cover new core converters: BindingFallbacks, BoolToOpacity/Object,
  EnumTo + EnumFlagsTo, NumberToFileSize/Percent, NumericComparisonToVisibility,
  ObjectToTypeName, PathToFilename, StringEqualsToBool, DateTimeToRelative,
  TimeSpanToHumanReadable, TreeViewMargin
- Add missing tests for existing converters: BoolToTextWrapping, PausedToGlyph,
  BoolToPopoverTriggerMode, ZoomMiniMapClamp, FontIcon drawing/image source
- Extend ConnectionState, LogLevel, LogCategoryType, ColorName, ColorTo*, BrushToColor,
  Background, BoolToWidth tests for palette + fallback behaviors
- Wire global usings for new namespaces
@davidkallesen davidkallesen merged commit 5dbe4f4 into main May 12, 2026
2 checks passed
@davidkallesen davidkallesen deleted the feature/valueconverters branch May 12, 2026 16:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant