stride3d/stride · error · ArgumentException

Property unsupported by method UpdateValueFromComponent.

Error message

Property unsupported by method UpdateValueFromComponent.

What it means

AngleEditor's UpdateValueFromComponent maps one of its component dependency properties (e.g. Degrees) to the underlying radians value; any other property reaching the method hits the fall-through ArgumentException. It indicates an internal dispatch bug: a property change was routed to a method that doesn't handle it.

Solutions

  1. If you modified or derived AngleEditor, add a branch for the new property before the throw.
  2. If unmodified, file/inspect a Stride bug — the editor routed an unhandled property; verify Stride version and update.
  3. Work around by binding only the documented Degrees property.

Example fix

// before
if (property == DegreesProperty)
    return MathUtil.DegreesToRadians(Degrees);
throw new ArgumentException("Property unsupported by method UpdateValueFromComponent.");
// after
if (property == DegreesProperty)
    return MathUtil.DegreesToRadians(Degrees);
if (property == RadiansProperty)
    return Radians;
throw new ArgumentException("Property unsupported by method UpdateValueFromComponent.");
Defensive patterns

Strategy: try-catch

Validate before calling

if (property != AngleEditor.DegreesProperty) { log.Warn("Unhandled property routed to AngleEditor"); return; }

Try / catch

try { editor.UpdateValueFromComponent(property); }
catch (ArgumentException ex) { log.Error("AngleEditor received unsupported property", ex); }

Prevention

When it happens

Trigger: Internal property-change routing invoking UpdateValueFromComponent with a DependencyProperty other than DegreesProperty — typically from adding a new bindable component property to AngleEditor without extending the switch.

Common situations: Modifying/deriving AngleEditor with extra component properties; library-internal invariant break after Stride editor upgrades.

Understand the failure class

Background: "This is a bug, please report it": internal invariant violations, unreachable panics, and SNH errors explained — this error's family across 47 libraries.

Related errors


AI-assisted analysis of stride3d/stride@96fad776d2 (2026-09-14). Data as JSON: /api/errors/a0fb164ba28d0b4c. Report an issue: GitHub.

Appendix: source

Thrown at sources/presentation/Stride.Core.Presentation.Wpf/Controls/AngleEditor.cs:54

            Value = DefaultValue;
        }

        /// <inheritdoc/>
        protected override void UpdateComponentsFromValue(float value)
        {
            var degrees = GetDisplayValue(value);
            SetCurrentValue(DegreesProperty, degrees);
        }

        /// <inheritdoc/>
        protected override float UpdateValueFromComponent(DependencyProperty property)
        {
            if (property == DegreesProperty)
            {
                return MathUtil.DegreesToRadians(Degrees);
            }

            throw new ArgumentException("Property unsupported by method UpdateValueFromComponent.");
        }

        /// <inheritdoc/>
        protected override float UpdateValueFromFloat(float value)
        {
            return MathUtil.DegreesToRadians(value);
        }

        /// <summary>
        /// Converts radians to degrees for display.
        /// </summary>
        /// <param name="angleRadians">The angle in radians.</param>
        /// <returns>The angle in degrees.</returns>
        private static float GetDisplayValue(float angleRadians)
        {
            return MathF.Round(MathUtil.RadiansToDegrees(angleRadians), 4);
        }
    }

View on GitHub (pinned to 96fad776d2)