PropertyGrid Improvements and Custom Property Editors

by Avatar Bill Henning (Actipro)
Thursday, October 23, 2014 at 12:02pm

PostBannerWPFControlsDevNotes

Our WPF PropertyGrid control is an extremely powerful way to edit the properties of any object.

Custom Property Editor Sample

While a lot of PropertyGrid usage is for basic properties such as numbers, strings, dates, etc., properties can be of any custom Type as well.  In our most recent release of the WPF controls, we created a new custom property editor sample that shows how to easily add a custom property editor for a certain Type.

PropertyGridCustomEditor

The screenshot above shows how a custom enumeration named OnOffAuto was created.  The object being edited in the PropertyGrid has several properties that are of that type.  We defined in XAML a custom template that uses our HorizontalListBox control to allow for easy selection of the options.

In the case of the Security Alarm property, we made a further customized property editor template that only shows two of the options instead of all three.  This specialized template is configured to only apply to that one specific property.

While this sample shows how to make a custom property editor for an enumeration type, the same concepts can be applied to any custom type.

Other Recent PropertyGrid Improvements

In recent builds, we have further improved the editing experience when using PropertyGrid.  We added built-in property editors for font-related properties.  We added support so that double-clicking a property name will cycle through any standard value options that the property has.  In the event that the property doesn't support standard values, double-clicking the property name will attempt to focus the related editor instead and select all text if possible.

Summary

Download the latest build of our WPF controls to see this new sample and obtain the latest editing features.

TaskDownload TaskLiveDemo TaskBuyNow

WPF, Silverlight, and WinRT/XAML v2014.2 Released

by Avatar Bill Henning (Actipro)
Friday, September 12, 2014 at 8:08am

Major142ReleasesBlogPostBanner

The 2014.4 versions of our WPF, Silverlight, and WinRT/XAML controls have been released and are now available for download.

Major new features are described below.  See the announcement posts for the large detailed list of enhancements and updates, including many items not listed below:

Note that the 2014.2 version of the WinRT/XAML controls came out last month, introducing our Editors controls, but a new maintenance release is available today adding other new features.

ProductHeadingGenericCharts

We've added six new built-in chart palette options, including Retro and Sand:

ChartPalettes

ProductHeadingWPFDocking

Docking/MDI received numerous updates, including a new option for rafting windows to not hide when in scenario where their owner DockSite is hidden, such as if it's nested in tabs itself.  Many updates to focus handling were made, especially in relation to interop controls like WinForms/ActiveX.

ProductHeadingGenericEditors

Updated the Country and Currency classes with the latest ISO data.

WinRT/XAML Only

As announced in recent blog posts, our WinRT/XAML controls now have some really unique and universal (Windows Store / Windows Phone) controls for accepting input of common data types.

ColorEditBoxOpened
See our Edit Boxes Overview for a summary of the controls and some links to additional posts describing their functionality.

ProductHeadingGenericMicroCharts

A new segment chart has been added that allows for visual display of an integer value within a total..

SegmentChartType

This sort of chart is great for use on dashboards, and also as an indicator of steps or progress achieved.

Another new control is the arrow indicator displayed on the left side of the stock chart below.  It's called a trend indicator and alters its UI to reflect whether a numeric value is greater than, the same as, or less than an origin value.

StockChart

Six new built-in chart palettes have been added as well, including IceCream and Melon.

MicroChartPalettes
ProductHeadingWPFPropertyGrid

We've created a new custom property editor sample that shows how to easily add a custom property editor for a certain Type. 

PropertyGridCustomEditor


Double-clicking a property name has been improved such that if the property doesn't support standard values, it will attempt to focus the related editor instead and select all text.

ProductHeadingGenericSyntaxEditor

Quote auto-completion support has been added to the DelimiterAutoCompleter class, with double quote completion enabled by default.  As the user types a start quote, the related end quote will be auto-entered after the caret.  The C#, VB, Python, JavaScript, and JSON languages in our premium add-ons have been updated to support quote auto-completion.  It can easily be added to any custom languages as well.

We've added some nice new features like a ScrollIntoView method that can ensure that a text position is visible within the view, improved caret/selection movement around and delete/backspace of multi-byte characters, and improved backspace to move to the previous tab stop when auto-convert tabs to spaces is active and the caret is before the first non-whitespace character on the line.

.NET Languages Add-on

We've had a lot of requests for showing how to support ASP-style server tags, where the C# within the tags has automated IntelliPrompt.

SyntaxEditorServerTags
We're happy to deliver a new full source sample (seen above) that shows how to harness our .NET Languages Add-on within server tags.

Python Language Add-on

Today's releases contain the first version of our Python Language Add-on, a new premium add-on that supports both v2.x and v3.x syntax.

PythonIntelliPrompt
We'll blog about the language in more detail soon, but you can download and start using it today.

ProductHeadingGenericShared

A new triangle shape can be used in UI such as breadcrumbs, tabs, etc. 

Triangle
This shape can auto-size to its container and supports strokes and fills.

WPF Only

We've added a ZoomLevelToTextFormattingModeConverter class, which can switch from Display to Ideal text formatting mode when the zoom level is increased, thereby keeping text clear in any scenario.

TaskDownload TaskLiveDemo TaskBuyNow

WPF, Silverlight, and WinRT/XAML Controls v2014.1 Maintenance Releases

by Avatar Bill Henning (Actipro)
Monday, June 2, 2014 at 9:19am

20141MaintBlogPostBanner

New maintenance of the 2014.1 versions of our WPF, Silverlight, and WinRT/XAML controls have been released and are now available for download.

Major new features are described below.  See the announcement posts for the detailed list of enhancements and updates, including many items not listed below:

ProductHeadingGenericCharts

Auto-Calculation of Tick Mark Intervals

ChartTickCalculation2

XYDoubleAxis, XYDecimalAxis, and XYDateTimeAxis have been updated to auto-calculate tick mark intervals when they aren't specifically set.  A new Axis Ticks QuickStart has been added that shows off automatic tick mark interval calculation.

Rendering Improvements

We've improved the rendering speed of data point labels, improved the rendering logic of bar charts, and updated data point labels to use a subtle border so that they don't blend in with surrounding chart objects of the same color.

Label Performance Improvements

Data point labels in pointer visibility mode now delay layouts until a pointer event occurs, thereby speeding up initial chart display.

Numeric Type Data Upconversion

XYChart now will automatically upconvert non-Double numeric type data to Double type so it can display.

ProductHeadingGenericDataGrid

Child Control Styles Applied to Some Auto-Generated Columns (WPF only)

ThemedDataGrid has been updated to style the child controls of auto-generated ComboBox and CheckBox columns.

ProductHeadingGenericDocking

Disabling Rafting Window Snap-to-Screen (WPF only)

Added the DockSite.IsRaftingWindowSnapToScreenEnabled, which can be set to false to prevent rafting windows from snapping to the closest screen when being displayed.

More Tabbed MDI Tile Options (WPF only)

Overloads to the TabbedMdiHost.TileHorizontally and TileVertically methods have been added that allow for a maximum number of columns/rows.  This permits additional tile configurations, such as a single row of tiles.

ProductHeadingGenericPropertyGrid

Double-Clicks Cycle Values (WPF only)

PropertyGridDoubleClick2

Updated double-clicks on property names to cycle through standard values if available.

CommitPendingChanges Helper Method (WPF only)

A PropertyGrid.CommitPendingChanges method has been added that forces any pending LostFocus bindings within property editors to update and ensure the data model is current.

ProductHeadingGenericSyntaxEditor

Navigable Symbols Hierarchy Support

Navigable symbols now support hierarchy levels and item indentation.  This feature was added to allow XML element hierarchies to be displayed in the NavigableSymbolSelector.

Numerous Minor Enhancements

Many minor enhancements have been made, which can be seen in the detailed update list.

LL(*) Parser Framework

A Grammar.AddChildFrom overload was added that allows for specification of a desired child index.

Web Languages Add-on

XmlNavigableSymbolProvider2

The XML grammar was reimplemented using type-specific AST nodes, thereby reducing overall AST memory usage by an average of 40%.  A XmlNavigableSymbolProvider service was added to the XML language that provides contextual element and attribute display in a NavigableSymbolSelector control.  The XML and HTML editor demos were updated to showcase the new navigable symbol provider features.

ProductHeadingGenericShared

Horizontal ListBox Control

HorizontalListBoxWinRT

The HorizontalListBox control was added, which allows for selection of items that are arranged horizontally with a uniform width.

UniformGrid Control (WinRT / Silverlight only)

UniformGrid3x3

The UniformGrid control was added, which is a Panel that can arrange content in a grid where all the cells in the grid have the same size.

RadialSlider Improvements

RadialSliderSegmented

The RadialSlider class logic for snapping values has been improved.

DelegateCommand (WinRT only)

The DelegateCommand class has been added, which is an implementation of ICommand that uses delegates.

TaskDownload TaskLiveDemo TaskBuyNow

PropertyGrid Double-Clicking Enhancements

by Avatar Bill Henning (Actipro)
Monday, May 5, 2014 at 8:29am

PostBannerWPFControlsDevNotes

Our WPF PropertyGrid control allows you to embed an object editing interface into your applications that can make use of any type of custom editor, including our own powerful WPF Editors controls.

In today's post I wanted to review a new small, but very useful, enhancement coming to PropertyGrid in the next maintenance release: the ability to double click on a name cell and cycle through available standard values.

Example Usage

Let's have a look at how this works.

PropertyGridDoubleClick1

Here we have a PropertyGrid and you'll notice that the CharacterCasing property has standard values of Normal, Lower, etc.

PropertyGridDoubleClick2

By double-clicking on the name cell, the value cycles to the next value in the standard values list. 

Summary

This new feature makes it quick and easy for end users to cycle through standard values without having to show a drop-down list.  It will appear in the next maintenance release of our WPF controls.

TaskDownload TaskLiveDemo TaskBuyNow

WPF, Silverlight, and WinRT/XAML v2014.1 Released

by Avatar Bill Henning (Actipro)
Wednesday, March 12, 2014 at 10:37am

BlogPostBanner

The 2014.1 versions of our WPF, Silverlight, and WinRT/XAML controls have been released and are now available for download.

Major new features are described below.  See the announcement posts for the detailed list of enhancements and updates, including many items not listed below:

ProductHeadingWPFDocking

Metro themes have been dramatically refined and updated in this version, mostly in the area of Docking/MDI.  Updated UI includes subtle border lines, new auto-hide tab appearance, title bar gripper decorations, and more.

DockingMetro

Metro themes will now not show images on tabs by default, and have changed auto-hide tabs to require a click (instead of hover) to open.  These updates match Visual Studio 2013 behavior.

We've added new events for the auto-hide popup (flyout) that fire when it is opened or closed.  The popup is also now displayed using a faster default animation speed.

When the DockSite.AutoHidePopupOpensOnMouseHover property is false, clicks on auto-hide tabs are required to toggle the auto-hide popup opened and closed.

ProductHeadingWPFPropertyGrid

New built-in property editors for FontFamily, FontStretch, FontStyle, and FontWeight type properties have been added.

PropertyGridFontFamily

ProductHeadingWPFRibbon

New key tip specific theme resources have been added and key tips in Metro themes now render more like Office 2013.

CheckBox-based menu items now are capable of supporting tri-state display.

ProductHeadingGenericSyntaxEditor

Delimiter auto-completion logic for insertion and subsequent scope tracking has been greatly improved.  Delimiter indent provider can now optionally support square braces.

Added a new property that allows SyntaxEditor to measure itself based on text contents.  This works great for smaller documents in both multi-line and single-line modes.

SyntaxEditorAutoSize

Updated single-line mode to support word wrap, which is very useful when combined with the new view line measuring option.

SyntaxEditorSingleLineWrapped

Bookmark indicators now support an IsEnabled state.

LipsumGenerator class added to support generation of "lorem ipsum" placeholder text.

Changed block indent mode to retain whitespace after the caret when Enter is pressed.

.NET Languages Add-on

Numerous improvements to the VB language's handling of identifiers and variable declarations that don't include a type.

Web Languages Add-on

Added IntelliPrompt completion for keywords and symbols to the JavaScript language.

JavaScriptCompletion

Added a new advanced JSON language that can be used to view/edit JSON files, along with a new related QuickStart.

JsonLanguage

Updated JavaScript language to support multi-line strings via backslash continuation.

ProductHeadingWPFThemes

Many improvements to Metro themes (mostly in the Docking/MDI area described above), and improved WindowChrome (and RibbonWindow) rendering when maximized.

ProductHeadingGenericShared

WPF/Silverlight Only

Added the RadialSlider control, which is a circular slider that can be used to input any scalar value.

RadialSliderIntro

Added the RingSlice control, which renders a portion of a ring at designated angles and radius.

RingSliceProgressIndicator

Added the CircularThumb control, which is a thumb gripper with a circular shape and arrow adornment.

Added three samples for new Shared Library controls.

WinRT/XAML Only

Added the AppBarHint control, which is a visual hint to users that app bars exist on a page, and can be tapped to toggle them open. 

AppBarHint

Added a related QuickStart.

ProductHeadingMisc

Sample Browser (WPF/Silverlight only)

Added the ability to toggle description sidebar on some samples.

TaskDownload TaskLiveDemo TaskBuyNow