LogoLogo
HomeNewsSupportVideos
  • Introduction
  • Getting Started
  • What's new in 4.0
    • Known Issues
    • .NET Core Designer
    • Managed Graphics
    • Fluent Markup
    • Markdown Support
    • Upgrade from 3.x
  • Releases
    • What's new in 4.0
    • What's new in 3.5
    • What's new in 3.2
      • View Builder
      • Validation Rules
      • Enhanced Font Support
      • Design-Time Debug
    • What's new in 3.1
    • What's new in 3.0
      • FAQs
      • Update Existing Projects
      • Multi Targeting
      • Visual Studio Designer
      • Referencing Assemblies
      • Docker Support
      • Troubleshooting
      • Deployment
    • What's new in 2.5
    • What's new in 2.2
    • What's new in 2.1
    • What's new in 2.0
    • Upgrade from 1.x
  • Getting Started
    • New Project
    • Templates
    • Troubleshooting
    • License Activation
    • FAQ
    • API
    • Hybrid
    • Deployment
    • Theme Builder
  • Concepts
    • Startup
    • Configuration
    • Load Balancing
    • Designer
    • Layouts
    • Client Profiles
    • Tab Order
    • Compression
    • Embedded Resources
    • Modal Workflow
    • Localization
    • RightToLeft
    • Background Tasks
    • Real Time Web Applications
    • JavaScript
    • JavaScript Object Model
    • Security
    • Synchronization
    • Session Management
    • Theming
    • Dependency Injection
    • Application Switches
    • Visual Studio Code
  • Controls & Components
    • General
      • Application
      • AutoSizing
      • AutoScroll
      • AutoScaling
      • Accessibility
      • Colors & Fonts
      • Embedded Tools
      • Events
      • Touch Events
      • Images
      • Labels
      • ToolTips
      • Data Binding
      • Common Properties
      • Custom Painting
      • Move & Resize
      • Drag & Drop
      • Validation
      • User Data
      • Responsive Properties
      • VB.NET Extensions
    • Common Dialogs
      • FolderBrowserDialog
      • ColorDialog
      • OpenFileDialog
      • SaveFileDialog
    • Editors
      • TextBox
        • TagTextBox
        • MaskedTextBox
        • TypedTextBox
      • DateTimePicker
      • MonthCalendar
      • TimeUpDown
      • DomainUpDown
      • NumericUpDown
      • TrackBar
    • Buttons
      • Button
      • SplitButton
      • CheckBox
      • RadioButton
    • Containers
      • Page
      • Form
      • Desktop
      • Panel
      • FlexLayoutPanel
      • FlowLayoutPanel
      • TableLayoutPanel
      • GroupBox
      • Accordion
      • TabControl
      • UserPopup
      • UserControl
      • ToolBar
      • StatusBar
      • SplitContainer
      • SlideBar
    • Lists & Grids
      • ComboBox
        • UserComboBox
        • TreeViewComboBox
        • ListViewComboBox
      • ListBox
        • CheckedListBox
      • TreeView
      • ListView
      • DataGridView
        • Column
        • TextBoxColumn
        • ButtonColumn
        • LinkColumn
        • ImageColumn
        • MaskedTextBoxColumn
        • DateTimePickerColumn
        • NumericUpDownColumn
        • CheckBoxColumn
        • ComboBoxColumn
      • DataRepeater
      • PropertyGrid
    • Extenders
      • Animation
      • ToolTip
      • ErrorProvider
      • Rotation
      • StyleSheet
      • JavaScript
    • Media
      • Audio
      • Video
      • FlashPlayer
    • Content
      • Label
      • LinkLabel
      • PictureBox
      • ScrollBars
      • Upload
      • AspNetPanel
      • ImageList
      • PdfViewer
      • ProgressBar
      • Spacer
      • Widget
      • WebBrowser
      • IFramePanel
      • HtmlPanel
      • Canvas
      • Shape
      • Line
    • Menus
      • MainMenu
      • MenuBar
      • MenuItem
      • LinkMenuItem
      • ContextMenu
    • Notifications
      • AlertBox
      • MessageBox
      • Toast
    • Other Components
      • Timer
      • BindingSource
      • BindingNavigator
      • DataSet
      • EventLog
      • MessageQueue
      • PerformanceCounter
Powered by GitBook
On this page
  • Visual Studio Marketplace
  • Typed TextBox
  • Tiny Tools in the Designer
  • Horizontal ListBox
  • ObservableCollection Data Binding
  • Commanding
  • Dependency Injection
  • New Application Templates
  • F1 Integrated Help
  • TestProject.io Integration
  • WebAuthn Extension
  • New OpenWindow Callback

Was this helpful?

Export as PDF
  1. Releases

What's new in 3.1

PreviousDesign-Time DebugNextWhat's new in 3.0

Last updated 2 years ago

Was this helpful?

Wisej.NET 3.1 enhances the milestone 3.0 release by adding several new unique features and a simplified installation procedure.

In addition to numerous bug fixes and considerable performance enhancements to our libraries, 3.1 includes the following notable new features:

Visual Studio Marketplace

Wisej.NET is now easier to use than ever before. It is available as a VSIX installer through the or via the Visual Studio Extension Manager. Without using the GAC, the new VSIX installer automatically registers Application Templates and the Wisej.NET designer.

Typed TextBox

A basic but very useful Typed TextBox is one of the most desired features in practically all web development platforms and is now available in our toolkit

You can use this new editor control to define the type of Value property to which the text should be parsed, a.NET format string (standard or custom), and whether the formatted string should be preserved when editing or removed when entering the editor.

You can also take over the parsing and formatting using the new events and virtual methods.

Tiny Tools in the Designer

New "Tiny Tool Icons" have been added to the Property Editor in the designer to indicate some of their attributes or reset New their value.

These new icons may save time for developers by providing information and features that needed several clicks to reach.

  • Reset. Instead of having to right-click and select the Reset option (if enabled), this tiny tool allows developers to reset the value of a modified property with a single click.

  • Data Bound. Indicates that a property is data-bound. This information was only available by opening the data binding dialog.

  • Localizable. Indicates that the property can be localized. Previously, this information was unavailable without inspecting the source code or attempting to localize the value.

  • Responsive. Indicates that the property is a Responsive Property and can hold multiple values associated with client profiles.

Horizontal ListBox

The new property ListBox.Orientation changes the layout of the items in the ListBox from the standard Vertical layout to the new Horizontal Flow layout.

Everything else remains the same, including horizontal scrolling, keyboard selection, and so on.

ObservableCollection Data Binding

Commanding

Dependency Injection

New Application Templates

Using the Visual Studio Marketplace allows us to provide new project and item templates. You can use the Visual Studio Extension Manager to install our new templates and automatically register them within Visual Studio.

F1 Integrated Help

When Wisej.NET is installed from the VSIX installer (Visual Studio Market Place or downloaded from our builds page), you can press F1 to get directed to our extensive online documentation.

The system can determine the Wisej.NET class, property, or method by the location of the cursor in the editor. This has support for the main API and all the extensions!

TestProject.io Integration

Our Wisej.NET extension helps in several ways like scrolling widgets into View, handling Tree Views, Keystrokes, counting Alert or Message Boxes, and much more.

WebAuthn Extension

We have added a new module to our open-source toolkit. The new extension employs the Web Authentication API (known as WebAuthn).

New OpenWindow Callback

This is a new experimental feature. We added a new Application.OpenWindow(url, ...) method with an optional onclose callback action, and added new onclose callback action to the existing Application.Navigate() method.

It can be used for several purposes:

  • Dispose a resource (i.e. delete a file or close a handle) when the user closes the tab or the popup.

  • Simulate detaching a specific window from the browser and allow the web application to work with multiple monitors.

private void Window1_ToolClick(object sender, ToolClickEventArgs e)
{
  var id = this.textBox1.Text;

  // hide Window1
  Hide();

  // launch sub-application /client passing custom args.
  Application.OpenWindow(
    $"{Application.StartupUrl}client#id={id}",
    id,
    "left=100,top=100,width=600,height=400",

    // onclose: reopen "detached" Window1.
    () => {
      Show();
    });
}

The same effect can be achieve using a browser tab that the user can detach and move to a second monitor.

Previously, the data binding system in Wisej.NET only supported the class for advanced data binding. However, MAUI and WPF support the simpler type for their data binding.

Now Wisej.NET seamlessly supports both. Support for the is identical in all data binding implementations.

Together with the support introduced as an experimental feature in 3.0, it now supports most 3-letter or 4-letter binding models.

The implementation introduced with 3.0 is now fully supported.

are now first-class citizens in Wisej.NET 3.1.

We have moved the and added new similar to the Blazor startup templates.

We have selected new automation tools as we built our new automated test suite, which we’ve decided to share using , an end-to-end automation solution for Web and Mobile apps with all the latest browser drivers.

The extension enables developers to add external and platform-specific authenticators into Wisej.NET applications. You can read more about the new extension in our blog post .

Application.OpenWindow() opens the url in a new . If you specify the onclose callback method, it is invoked when the user closes the popup window.

BindingList<>
ObservableCollection<>
INotifyPropertyChanged
Services and Dependency Injection
Tour Panel Extension's
Templates to the Marketplace
Navigation App Templates
TestProject.io
here
popup window
Visual Studio Marketplace
https://wisej.com/blog/passwordless_authentication_webauthn/wisej.com
Passwordless Authentication in Wisej.NET using WebAuthn
Commanding
Commanding