The new DataRepeater container is a sort of a custom data grid. Instead of rows it repeats a template panel containing child controls in any layout. Child controls are automatically data-bound to the current record.
The infrastructure is virtual, which means that the DataRepeater only creates the visible panels and updates the controls as the user scrolls them into view, allowing the management of an unlimited numbers of records.
Use the Shape control to frame content, including images, and to handle the four borders of a plain DIV tag.
It lets you rotate the item, display circles, ovals, rectangles, and triangles using a simple data-bindable all-purpose control.
The Label supports 5 positions: top, left, bottom, right and inside (this is the material style that shrinks the label when there is content).
The size of the inner label and the inner editor can be set to proportional, fixed, or auto-sized. All the properties can automatically change according to the device profile (e.g. the label can be on top for mobile devices, and on the left for the desktop). Supports mnemonics focus, colors, and many other features.
This is a new editor similar to the existing DomainUpDown and NumericUpDown. Handles a TimeSpan value in different localized formats. Supports minimum and maximum values, it’s bindable, nullable, and supports the quick increase of the time part under the cursor using the arrow keys.
We have changed all the static events exposed by the Application class to weak events. This new approach (also present in the WPF platform) prevents the source of the static event from holding on the instance handler. It will prevent applications from accidentally leaking memory when attaching to static events exposed by Wisej.
This new extender component (drop it on a design surface to use it) adds a new property “TabOrder” to all containers. Supports 3 options: Default, AcrossFirst and DownFirst.
Once set, the TabIndex of all the children is set automatically, and it’s updated automatically when adding or removing children.
All controls that supports the VirtualScroll mode (TreeView, ComboBox, ListBox, ListView and DataRepeater) now have a new PrefetchItems property allowing the pre-loading of the items outside of the visible area to support smoother scrolling.
A new setting in Default.json (sessionStorage: “local” | “session”, the default is “session”) allows the Wisej app to select the browser’s local storage (“local”) to store the session id. When coupled with a longer or unlimited session timeout allows a user to reopen the browser, or the Wisej desktop executable, and find their work exactly where they left it.
Set impersonate:true in Default.json to impersonate the user on the server. Works with any Windows authentication system (including Kerberos).
You can access external resources, (e.g. Database) using the user’s credentials. In your Wisej application, you can use Environment.UserName as if the app was running locally.
We always had this.Beep() when adding using Wisej.Web.VisualBasic to include the VB.NET extensions.
Now we added a more intuitive Application.Play (MessageBoxIcon) to play system sounds, and Application.Play(url) to play custom sounds, including embedded data URLs.
This new feature allows your application to modify any Wisej theme at runtime by code. You can create themes on the fly for each specific user, or modify the global theme (shared by all users).