Our v2020.1 UWP controls have been updated with a new maintenance release that is now ready for download.
See this announcement post for the detailed list of enhancements and updates.
We are pleased to announce the release of the 2020.1 version of our UWP Controls.
This announcement post contains the detailed list of updates in the 2020.1 version. Please be aware that Windows 10 Fall Creators Update (version 1709) or later and usage of the Microsoft's free 'Win2D.uwp' NuGet package are required.
While the version includes a wide number of small updates and bug fixes, let’s take a look at a handful of the larger updates.
AutoCompleteBox now has a SelectedItemChanged event and an InputMode property, that alters input behavior. Search mode is the default and is intended for usage when the control is providing search-like functionality, commonly seen in application title bars. ComboBox mode is an alternate mode intended for use when the control should be used in more traditional ComboBox-like scenarios. When in ComboBox mode, the popup list filter turns off when not typing in the control, allowing the entire list to be browsed when interacting with the control purely via the popup.
BrushEditBox and ColorEditBox now have a HasText property that allows you to hide the text portion of the edit box for a swatch-only display.
DateEditBox and TimeEditBox now accept delimiter-less input for several additional custom formats.
Numeric edit boxes now support large incremental changes when holding Shift while pressing Up/Down or rotating the mouse wheel.
Several numeric edit boxes now support custom format strings with semi-colon conditional format specifiers.
We've added a PropertyGrid.RequestRefresh method that can be called to tell the PropertyGrid to refresh its contents.
A new background renders the search range when the search overlay pane is in Selection scope mode.
A new property allows you to disable key bindings that would activate the search overlay pane, which is useful if you have an external search UI.
Logic related the selection scope searching has been improved.
Ctrl+Enter can be pressed to execute a Find All search operation when the Find textbox has focus and the find all button is visible.
New methods allow completion list items to be added much faster, dramatically improving performance.
Our v2017.2 WPF, Universal Windows, and Silverlight controls have all been updated with new maintenance releases that are now ready for download. It is highly recommended that you get these new builds since many products received numerous minor enhancements and bug fixes.
Let's take a quick look at some of the more notable features that were added.
The mouse wheel can now scroll document tabs when in an overflow situation and using certain tab overflow behaviors.
Updated the color pickers such that the end user can tap and drag anywhere in a hue ring or saturation/brightness square to change color attributes, and not just on the thumb.
Added a new drop-down to ColorPicker that allows switching between RGB and HSB text input modes.
Added new features for adding custom inline UI elements within edit boxes, like the "Now" button in the TimeEditBox below.
Improved the DateEditBox and TimeEditBox default formats to better support parsing of entered text values that lack part delimiters.
Added the TreeListViewColumn.SortDirection property and related ColumnSortDirection enumeration that can be used to indicate that a sort glyph should appear in the column header when paired with a custom sorting mechanism.
Improved TreeListBox to better handle property updates from view-models on other threads.
Improved TreeListBox selection tracking performance.
Improved numerous edit actions to retain their final selection after the action goes through an undo/redo process.
Improved how Tab indenting is handled when there is a block selection.
Improved the Cut Line to Clipboard edit action to support multiple lines.
Improved the .NET Languages Add-on's logic for selecting the best IntelliPrompt parameter info member overload when typing a comma at the end of an argument list.
Improved the XML line commenter in the Web Languages Add-on to comment the entire line text when there is no selection.
There were also a large number of smaller improvements made throughout the products. See the announcement posts for the detailed list of enhancements and updates:
We're happy to announce that the 2017.2 versions of our WPF, Universal Windows, and Silverlight controls have been released. These versions include some new controls, new features, and a lot of minor updates and bug fixes.
See all the details on the 2017.2 releases in the various announcement posts:
Full support for intra-line adornments is now included. These allow whitespace to be reserved above and/or below view lines, and adornments rendered in that space.
A first new sample shows implementation of a Visual Studio-like Code Lens adornment with info display and hyperlink.
A second sample shows a Visual Studio-like Peek Definition (embedded editor) display. This is accomplished using a second SyntaxEditor within an adornment of the outer SyntaxEditor.
Vertical scrolling logic has been refactored to better handle view lines of various sizes.
A couple new code outlining commands have been added: apply default outlining expansion and expand all outlining.
A new optional assembly is available that has Roslyn extensions for loading IBinaryAssembly instances that can be referenced by a project assembly, instead of using normal .NET reflection.
IntelliPrompt completion is now available for object creation expression initializer member names.
A new property can be data-bound to your VM to float or restore a docking window. The default location request event allows for specifying that a docking window should open in a floating dock host. Docking windows that were closed while floating now support more precise restoration later. Dragging standalone floating docking windows by their tabs now has a better experience.
The read-only contextual indicator for documents now uses a separate display mechanism from the custom contextual indicators, allowing both to show at the same time.
A new AutoCompleteBox control has been added that allows text entry and provides suggestions for auto-completion.
This kind of control is ideal for use in search query and quick launch kinds of scenarios.
Clicking a date on the popup calendar now closes the popup.
The TreeListBox item adapter has been updated with a method that fires when hovering over an item during a drag, allowing you to determine whether it should be expanded.
New adapter methods have also been added that are called immediately before and after a drag, allowing for custom adornments to be displayed while dragging.
A new AdvancedTextBlock control has been added that can show a tooltip when overflowed and can highlight spans of text based on captured text ranges (i.e. filter match results).
The primary focus of the 2017.1 version in WPF and UWP was to add an improved PropertyGrid control and tree controls (TreeListBox and TreeListView) in our new Grids product, and to update Editors to be more modern/lightweight, and share a codebase between the two platforms. Another focus was on maximizing the performance of all the controls. The new PropertyGrid for instance shows a massive speed increase over the older WPF v2016.1 PropertyGrid.
See the entire lengthy detailed update list in these announcement posts:
If you want to discuss the new controls added in 2017.1 or have suggestions for additional features, please join our #UIControls channel in our Slack team. It's free and you can chat with us and other customers.
Please note that the v2017.1 WPF Controls have PropertyGrid, Editors, and licensing breaking changes to support better API design and features, so be sure to read the "Converting to 2017.1" topic in the documentation that comes with the controls. It walks through everything in detail.
Grids is a new product added to the WPF and Universal Windows Controls in v2017.1. It features three primary controls: TreeListBox, TreeListView, and PropertyGrid.
TreeListBox is a single-column control that renders a tree structure. It is designed to mimic the features found in the Visual Studio Solution Explorer. You have full control over the appearance of each node, and can easily wire up any tree data model for rendering via the use of our adapter pattern.
The UI tree is virtualized for optimal performance. Unlike the standard WPF TreeView, TreeListBox is a single ItemsControl that is far less resource intensive and doesn't experience odd vertical scroll jumpiness.
You have full control over whether nodes are expandable, when they load children (and with optional use of async loading with a busy indicator as seen above), and selection modes (single/multiple). A powerful filtering mechanism is included that allows you to add type-to-filter support. F2 can initiate inline editing of node text. Drag and drop can be enabled and you determine what is dragged/dropped. This just scratches the surface, and there are many other features included.
The TreeListView control builds on top of the foundation provided by TreeListBox and adds multiple columns with an optional header, similar to a standard WPF ListView.
Columns can be sized using several algorithms, resized/reordered by the end user, or certain columns frozen such that they don't scroll horizontally. Grid lines can be optionally displayed.
The PropertyGrid control is based on TreeListView and renders a grid of all the properties of one or more objects and their values. Properties can be displayed by category, alphabetically, or using a custom sort.
A PropertyGrid control was available in older versions of our WPF Controls, but we rewrote much of the internals for v2017.1 and optimized the object model to focus on maximizing speed and ease of use. The new PropertyGrid can load large complex objects almost instantly. It's simpler than ever to customize how properties are edited via the use of property editor DataTemplates. You have full control over which properties are presented and how.
The 2017.1 version ported the Universal Windows Editors back to WPF so that they now share a codebase. This decision was made because the newer Editors designs are much more lightweight in terms of UI elements used in each control, and the number of bindings involved. This improves UI performance when using many Editors controls in grids like PropertyGrid.
You'll still find many great editing features such as the ability to use arrow keys when typing in edit boxes to increment or decrement part values.
Each edit box now has an optional dedicated picker control that is used in the drop-down, like the calculator shown above. The picker can be easily styled if a custom appearance is needed.
In addition to porting the UWP Editors to WPF, we also added a number of new editor controls. Editors in both platforms feature specialized edit boxes and pickers for these .NET types: Brush, Byte (WPF only), Color, CornerRadius, Date, DateTime, Double, Enum, Guid, Int16, Int32, Int32Rect (WPF only), Int64, Point, Rect, Single, Size, Thickness, Time, TimeSpan, and Vector (WPF only).
Editors also has these other various miscellaneous controls: Calculator, CountryComboBox, CurrencyComboBox, EnumListBox, GradientStopSlider, HsbColorPicker, MonthCalendar, RadialHuePicker, Rating, SaturationBrightnessPicker, and Spinner.
The licensing mechanism was updated for the WPF Controls in v2017.1 to be simpler. Regardless of which WPF products you've licensed from us, your apps will only need a single line in the licenses.licx file going forward. Please read the Converting to 2017.1 topic in the documentation for details on these updates.
Enjoy the new version!