Skip to main content

What's new in 3.5

Wisej.NET 3.5 adds native support for hybrid applications running on all sorts of devices, including full offline support, and many enhancements to the .NET class library and the corresponding JavaScript widgets.

Getting Started​

The latest Wisej.NET 3.5 is available on NuGet.

The Visual Studio 2019 and 2022 extension packages are linked below:

Wisej.NET Targets .NET 7​

Wisej.NET 3.5 is now compiled against .NET 7. This means that existing .NET 6 projects that would like to use the latest version of 3.5 must update the target framework dependency.

Wisej.NET Hybrid and Offline Support​

Wisej.NET 3.5 is now able to run on iOS, Android, and MacOS devices using the EmbedIO server in a new Wisej.NET Hybrid shell built using MAUI's native integrations.

Wisej.NET Hybrid includes three new project templates for creating applications:

New Wisej.NET Hybrid Templates

Client Application​

This project template is used to create a Wisej.NET Hybrid Client. The Client project builds and runs an executable (.exe, .apk, .ipa, etc.) that can be deployed on any desktop or mobile platform.

tip

This template is based on .NET MAUI. You can interact with this project the same way you would with any other MAUI project.

Remote Application​

Allows developers to build and deploy a traditional Wisej.NET application with the added ability of interacting with the Hybrid device's native functionalities.

This application is deployed to a remote web server such as IIS, Kestrel, or Nginx on Windows or Linux.

tip

Alternatively, you can add the Wisej-3-Hybrid NuGet package to an existing Wisej.NET project.

warning

To use native device functionalities, you must access this application through the Wisej.NET Hybrid Client Application

Local Application​

Allows developers to build and deploy applications that run entirely on the Hybrid device. The project template contains similar features to the Remote application template such as a Page control.

danger

This project needs to be linked into the Wisej.NET Hybrid Client Application to use.

API and Component Enhancements​

In 3.5 we also focused on extending the programming side of Wisej.NET with a number of enhancements to the object model, data binding and the various components.

New Features​

  • ListViewItem gained the new Visible property. It allows the application to hide items without having to remove and add them back to the Items collection.
  • All controls that show a label gained a new AutoToolTip property. When set to true and the text is truncated, it will automatically use the title attribute to show the full label as a native tooltip.
  • The Validation extender now supports the IDataErrorInfo interface and data binding. We also added the Enabled property to the base ValidationRule class to allow the code to disable a specific validation rule without removing it from the Validation extender.
  • DataGridView exposes the CreateSummaryRow, CreateDataBoundColumn, and CreateDataGridViewColumnFromType methods as public virtual to allow an application to customize the grid's inner behavior and fully control the automatic creation of rows and columns.
  • The ErrorProvider extender allows a derived class to override its methods and fires the new ErrorChanged event to allow an application to customize error messages and icons in a single location.
  • TextBox.Text now converts all \n to \r\n when Multiline is true. Previously Wisej.NET allowed the browser to strip \r\n and instead return only \n as a new line.

New Constructors​

Most controls have gained several new constructors, some with optional and default arguments, that allow developers to use the controls in code adopting a more flexible and easier syntax:

// Previous syntax.
var button1 = new Button
{
Text = "Click Me",
Size = new Size(100, 24),
Location = new Point(10, 10)
});
button1.Click += (s, e) => { AlertBox.Show("Clicked!"); };
this.Controls.Add(button1);

// New syntax.
this.Controls.Add(
new Button(
"Click Me",
new Point(10, 10),
new Size(100, 24),
(s, e) => { AlertBox.Show("Clicked!"); })
);

Common Method Chaining​

All basic methods in Control now return this to allow code to chain calls:

this.textBox1.Show().CenterToParent().BringToFront();

Bootstrap Dark Theme​

Wisej.NET 3.5 includes a new theme for building dark-style applications. The new Bootstrap Dark theme (BootstrapDark-4) is based on the existing Bootstrap-4 light theme.

Wisej.NET BootstrapDark-4 Theme

New Extensions​

Chat Control​

The new Chat control can be used to build conversations into an existing Wisej.NET application. The new chat control supports text and custom message types, allowing users to share any type of control or data in the conversation.

Wisej.NET Chat Control

Signature Control​

The new Signature control can be used to collect and export user signatures. The control includes undo, redo, image import/export, and line customization features.

Wisej.NET Signature Control

See the documentation: Signature

Pull-to-Refresh Component​

The new Pull to Refresh component can be used to trigger a refresh of a data source associated with a scrollable panel. All containers inheriting from ScrollablePanel support the Pull-to-Refresh component.

Wisej.NET Pull-to-Refresh Component

TesseractJS Component​

The new TesseractJS component allows developers to add real-time OCR scanning to the Wisej.Web.Ext.Camera control.

New Premium Extensions​

Dynamsoft Barcode & Scanning Premium Extension​

The new Dynamsoft Barcode & Scanning premium extension gives developers an enterprise-ready option for barcode scanning and text (OCR) scanning on the web.

Developers are required to purchase the following licenses from Dynamsoft:

  • Dynamsoft Barcode Reader – JavaScript Web SDK
  • Dynamsoft Document Normalizer – JavaScript Web SDK

Mobiscroll Premium Extension​

The new Mobiscroll premium extension gives developers a suite of mobile-friendly controls and components to use in Wisej.NET applications.

Developers are required to purchase a license from Mobiscroll for use of any components. The Wisej.NET integration uses the Mobiscroll JavaScript integration.