New Features
SftTree/NET 3.0 adds .NET 10 support, screen reader support, dark mode, high contrast and per-monitor DPI support, and improved design-time support, while remaining compatible with SftTree/NET 2.0:
- Using SftTree/NET with .NET 10 - Windows Forms applications for .NET 10 (or later) use the control through its NuGet package, including the Visual Studio designer and the property pages.
- Accessibility (Screen Readers) - built-in UI Automation support for Narrator, NVDA, JAWS and other assistive technologies, plus an Announce method for short status messages.
- Dark Mode, using the DarkMode property: on, off, or automatically following the Windows light/dark setting.
- Per-Monitor DPI and Scaling - Per-Monitor v2 DPI awareness, with ImageScaling and PixelScaling to scale images and pixel values with the display DPI.
- Windows High Contrast accessibility support, using the HighContrastMode property: the user's contrast theme wins over the application's colors.
- Improved property pages: they follow the Visual Studio theme, support Undo and Reset, and import and export items, headers and footers as XML. The smart tag opens them directly on Columns, Items, Headers or Footers.
- A single assembly: applications reference only Softelvdm.SftTreeNET, the separate Softelvdm.Controls assembly is no longer needed. The Softelvdm.Controls namespace is unchanged, so existing code compiles as is.
- Forms and documents saved with SftTree/NET 2.0 load unchanged in .NET Framework applications.
- Correct layout when the designer and the application use different DPI scaling.
SftTree/NET 2.0 and 3.0
SftTree/NET 3.0 and SftTree/NET 2.0 can be installed on the same system and used by separate applications. One application cannot reference both, as they use the same namespace and type names. To upgrade an application, replace its references to the SftTree/NET 2.0 assemblies (Softelvdm.SftTreeNET and Softelvdm.Controls) with a reference to the SftTree/NET 3.0 assembly Softelvdm.SftTreeNET. Once a form has been saved with SftTree/NET 3.0, it can no longer be opened with SftTree/NET 2.0. A form that moves from a .NET Framework project to a .NET 10 project needs its tree contents exported and imported again, see Using SftTree/NET with .NET 10.