MDriven v7.0.x - August 2025

Released: Sep 23, 2025

Actualizaciones en v7.0.x - August 2025

Características

Designer

  • The MDrivenDesigner now saves information to enable restarting from the cache when launched from a network location.
  • The StylesInModelView has been updated to only expand the targets of selected or activated elements.
  • A new feature has been added to the ViewModel editor to handle adding components from ext_componentsrazor.
  • A new BLAZOR tagged value on a ViewModel now switches to Blazor serverside instead of webassembly.

Framework

  • StringFormat for numbers and dates is now more flexible, with default values that can be set based on the user's culture.
  • The IMDrivenUITranslation interface has been extended with EffectiveLanguage, allowing culture settings to be stored in user data or profiles instead of relying on browser settings.
  • A new cache-tag, MetricNotImperial, has been added to handle presentation units that change between HTML caches.
  • New functionality has been added to IMDrivenUITranslation to convert back and forth between metric and imperial units. This is triggered by a MetricImperial tagged value with values like GramOunce, MillimeterInch, and MilliliterFluidOunce.
  • The IActionLanguageService.IsCurrentlyInActionEvaluation property has been added to reveal if a thread is currently evaluating EAL.
  • The ThreeJS library has been updated to a new CDN path.

Turnkey

  • A new special variable, vClientScriptExecute, has been added to execute client-side scripts.
  • The BLAZOR tagged value now switches the UI to Blazor serverside instead of webassembly.
  • The MDrivenDesigner now handles adding components from ext_componentsrazor.
  • The Recurse option is now fully supported in the Turnkey UI, enabling true recursive trees in ViewModel definitions.

Correcciones

Designer

  • Several issues with tuples in tables, especially those with child tables, have been fixed. The VMClassId is now correctly handled, and the ToString method for tuples has been changed to return a stable HashCode.
  • An issue with Nestings using a derived type from the owning column, where the order of creation could be wrong, has been fixed.
  • The DefaultEcoSpace now has a new override, ShouldEnsureSingletonsOnActivate, to prevent TempEcoSpace from leaving unwanted residues when loading XML.
  • Changes to how ext_componentsrazor loads scripts were made to avoid bloating and improve general script handling. Scripts are now loaded on a per-component basis.

Framework

  • A long-standing issue has been solved where vCurrent_ updates from code did not update the UI in WPF. This is now handled by the new ViewModelClass.ActionToUpdateUITovCurrent property set by WPF DataGrids.
  • Blazor serverside issues with the ShouldRenderFilter that stopped combo lists from updating correctly have been fixed.
  • The page now reloads automatically when culture settings change.
  • Lock issues related to singleton loading in Turnkey have been resolved.
  • A significant issue with tuples has been addressed. The HashCode for tuples has been rewritten to be stable, which fixes problems with CollectionView and Dictionaries. The GroupBy functionality has also been rewritten to work with the stable tuple hash.
  • A null reference exception that occurred when using EnsureRange on a null tuple has been fixed.
  • A bug with RenderedByAction on a checkbox in a WPF grid has been fixed.
  • Fixes have been implemented for BlazorPivot.
  • Several issues with the assignment and comparison of tuples have been addressed.

Turnkey

  • A style issue on Blazor buttons not in a grid has been fixed.
  • Tuples in tables with child tables now work correctly.
  • A bug in MDrivenClientScriptExecute has been fixed, and its documentation has been updated.
  • A JavaScript bug in cellselect has been fixed.
  • The DefaultEcoSpace issue with singletons is now resolved.
  • Lock issues related to singleton loading in Turnkey have been fixed.
  • A safeguard was added to prevent a null reference exception in the Visual Studio ModelEditor.