Tweets by @Actipro
Please take some time to learn more about us and our product offerings.
New maintenance of the 2014.2 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:
The Country class, which contains ISO country data and is utilized by our CountryComboBox control, now also includes the 3-character alpha code data for each country.
This is in addition to the existing data of 2-character alpha code and name.
We've improved how the PropertyGrid handles properties on the root SelectedObjects that have a custom type converter.
We've also improved support for handling immutable objects and determining how to interact with their properties.
The Custom Factory sample has been updated to show a property with a non-string type.
This is a great example of showing how to implement a custom data factory and merge properties from various object sources.
We've improved keyboard navigation in the TaskTabControl control, which is generally used within Backstage tabs.
The logic for the sizing of contextual tab groups and their tabs always has had some minor issues when resizing the containing window to be thinner. The issue didn't often manifest itself unless multiple contextual tab groups were displayed.
We spent a while tracking these issues down and fixing them so that all layout sizing is now perfect, as seen in the screenshot above.
We've added support for read-only regions of text via the new IReadOnlyRegionTag tag. This feature has been highly requested by customers, so we're happy to deliver it.
There is a ReadOnlyRegionTag implementation class that supports classification so that read-only regions can be rendered with an alternate background, such as gray in the screenshot above. A new Read-Only Regions QuickStart that demos the new features is now in the Sample Browser.
Another highly-requested set of commands for moving the selected lines up (via Alt+Up) and down (via Alt+Down) have been added. The SDI Editor demo's menu has been updated to show off the new editor commands.
We did a lot of performance profiling related to IntelliPrompt completion lists and we able to make numerous performance enhancements in the areas of item matching and filtering. These enhancements will really help performance when displaying large completion lists.
A SyntaxEditor.IsDragDropTextReselectEnabled property has been added that can be set to false to prevent reselection of dropped text.
Views have been updated so that text changes from a data bound source (such as view model) don't scroll the view back to the first line on each update.
The line commenter has been updated to improve how line comment and uncomment features affect selection. The logic that gets activated by the LineBasedLineCommenter.CanCommentEmptyLines property also has been improved.
We've made several improvements to caret movement when editing bi-directional text.
All of the event ties between the UI and document models have been changed to use weak events.
The ability to resolve references to nested types has been improved.
A completion item for closing the nearest open ancestor element, if any, has been added. (WPF only)
Ctrl+Space after an end tag start delimiter will also auto-complete the matching start tag's name. (WPF only)
We've also improved the editing experience when typing to not affect outlining nodes as much.
New primitive shapes have been added that can be used to create some interesting user interface elements in your apps. The Wave shape renders a wavy line. The ZigZag shape renders a zig-zag line.The Shapes QuickStart has been updated with examples showing usage of the new shapes.
In the 2014.2 versions of our controls for the WPF, Silverlight, and WinRT/XAML platforms we've been adding several new shape controls to our Shared Library that can be very handy in setting up unique interfaces in your apps.
Yesterday's post examined the new Triangle shape. For today's post, we'll take a look at a new ZigZag shape that is coming in the next 2014.2 maintenance release.
The zig-zag shape renders straight lines that cross from one edge of the shape to the other, and back again. The apex side and the number of apexes to render can be specified. It's also possible to set whether the "inside" (fill) of the shape is inverted, or moved to the other side of the apexes.
Standard fill and stroke properties can be used to give the shape varied appearances. The example on the right above is particularly interesting because it shows how an "inverted" zig-zag provides the left side of the red ribbon. It is aligned next to a rectangle (behind the "New!") text, which allows it to generate a complex composited shape.
Zig-zag shapes are great for use when content requires a separator.Instead of always using a linear horizontal or vertical rule to separate content, the zig-zag shape adds some variety to the user interface.
Although shapes like zig-zags are small primitive controls, they can be very helpful in creating modern interesting user interfaces that don't rely purely on squares and rectangles.
You will be able to use our ZigZag class once the next maintenance releases of our 2014.2 WPF, Silverlight, and WinRT/XAML controls are published.
In the 2014.2 versions of our controls for the WPF, Silverlight, and WinRT/XAML platforms we added several new shape controls to our Shared Library that can be very handy in setting up unique interfaces in your apps.
For this post, we'll take a look at a new Triangle shape. Incidentally this shape is used in the MicroTrendIndicator control we recently added to our Micro Charts controls.
The triangle shape is a basic triangle that will fill the area you give it. You use an enumeration to set which side the apex (point) of the triangle is on.
Standard fill and stroke properties can be used to give the shape varied appearances.
While a triangle shape standalone might not be very interesting, when it's combined seamlessly into other UI, it can make for some very nice presentations.
In this usage scenario, we use the triangle shape to help build a touch-friendly sort of breadcrumb control.
Here's another breadcrumb usage scenario but in this case, a smaller centered triangle is used to divide the items.
Although shapes like triangles are small primitive controls, they can be very helpful in creating modern interesting user interfaces that don't rely purely on squares and rectangles.
You can use our Triangle class today by downloading the latest versions of our WPF, Silverlight, and WinRT/XAML controls.
Our WPF Docking/MDI product, which provides docking tool window and multiple document interface functionality for WPF applications, is already about the most polished and full-featured product of its type on the market for the WPF platform.
It supports multiple professional themes, complex hierarchies of tool windows, auto-hide, multiple MDI modes, Prism/MVVM support, nested and side-by-side dock sites, layout serialization and much more.
As great of a product as it is, there are a few areas we are possibly looking to improve and make the product even better. Some of this may involve a refactoring of a lot of internal code, and as such, we wanted to come to you our users and get some feedback on what improvements you would like to see made.
The feedback could be anything from simple UI and docking functionality ideas to suggestions on improving interaction with our API. For instance, perhaps you would like to see "pin" buttons added to tabbed documents, which is a newer feature found in Visual Studio 2013.
We would love to hear what you would like to see implemented in our WPF Docking/MDI product that isn't already in place today.
Please send your comments and thoughts to our support address with as much detail as possible and screenshots/mockups where appropriate.
Thanks for your help!
Our WPF PropertyGrid control is an extremely powerful way to edit the properties of any object.
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.
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.
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.
Download the latest build of our WPF controls to see this new sample and obtain the latest editing features.
In today's post I'd like to show off another new feature that was added to SyntaxEditor (WPF, Silverlight, and WinRT/XAML platforms) in its 2014.2 version: quote delimiter auto-completion.
SyntaxEditor already had some great delimiter-related features like delimiter highlighting and delimiter auto-completion for curly braces, square braces, and parentheses. These have been in the product for a while.
We had a number of customers also request that support for quote auto-completion be added to assist with working with strings, and that's what's been added. Quote auto-completion support is now built into the DelimiterAutoCompleter class, with double quote completion enabled by default. Single quote completion can be activated as well but is not enabled by default since some languages use single quotes as single line comment delimiters.
Let's see it in action! Here we are using our new Python add-on language to start typing an author designation:
Next I type a double quote character:
The end double quote is auto-inserted, but after the caret. This allows me to type the string content directly in without having to use arrow keys.
Now that I've typed in the string content, I type the double quote again. SyntaxEditor knows that it's the quote that was recently auto-completed, so it effectively overwrites the existing quote instead of adding another double quote. The caret ends up after the string, as expected.
The quote delimiter auto-completion features were added in the 2014.2 version of our WPF, Silverlight, and WinRT/XAML controls.
In this quarter, we published the 2014.2 versions of our WPF, Silverlight, and WinRT/XAML controls. These versions included several new controls, a new Python Language Add-on for SyntaxEditor, and some big feature enhancements for our existing controls. Check out the release posts for more detail.
One big piece of the new WinRT/XAML control updates was that we made all our controls universal controls, compatible with both Windows Store 8.1 apps and Windows Phone 8.1 apps.
I want to also call particular attention to our new Editors controls that we custom developed for use in Windows Store and Windows Phone apps. The editors use some brand new unique designs that allow users to efficiently enter data with keyboard, mouse, or touch. Be sure to check those out!
Our Code Writer app received some nice updates as well.
We're now working on more v2014.2 updates for our existing controls and on some new controls as well.
In today's post, we will introduce another new micro chart control that was added in the 2014.2 versions of our WPF, Silverlight, and WinRT/XAML controls: the MicroTrendIndicator control.
The trend indicator is a three state control that is intended to reflect whether a numeric value is higher, the same as, or lower than an origin value.
This sort of element is commonly used in stock value display where the origin value is bound to the previous day's stock price, and the value is bound to the current price. The trend indicator then renders an upward green triangle if there was positive movement, a gray line if no change, or a red triangle if there was negative movement.
If the values are updating live, the indicator changes use a pleasing animation that rotates and fades in the new indicator.
The template for each state's indicator can be customized as well, allowing for any combination of shapes and elements to indicate the trend state.
There are a lot of uses for trend indicators, such as in dashboards or reports. Download the 2014.2 versions of our products to check out the new chart type.
In today's post, I wanted to introduce a new micro chart control that was added in the 2014.2 versions of our WPF, Silverlight, and WinRT/XAML controls: the MicroSegmentChart control.
A segment chart provides a visual representation of an integer value in relation to a total number. Each segment in the chart is rendered as highlighted or unhighlighted. For instance, if the value is 3 of 10, there will be 10 total segments displayed, with the first 3 rendering as highlighted.
This sort of chart is great for use on dashboards, and also as an indicator of steps or progress achieved.
The style for the segments can be customized, allowing for any sort of shape, size, or color combination. The Panel used to render the chart can also be set, enabling wrapping and other layout scenarios.
In the WPF and Silverlight versions, value converters can be used to further customize the brush or size of each segment to create some interesting effects:
There are a lot of uses for a segment chart, such as in dashboards or as progress indicators. Download the 2014.2 versions of our products to check out the new chart type.
In recent posts, we've shown off some of our new edit box controls for WinRT (Windows Store and Windows Phone apps). We saw our DateEditBox, which is used for date input. And then we saw our TimeEditBox, which is used for time input. We also have a DateTimeEditBox, which can edit a date and time in the same control. That's what we'll show in today's post.
The DateTimeEditBox control is used to input a DateTime value, and uses a DateTimePicker control in its popup.
Edit boxes work great with a keyboard. When the edit box is focused, values can be directly typed in. Type in "9/9/14 10am", "09/09/2014 10:00", "2014-09-09 10AM", etc. and press Enter. Any of those will commit the same date/time value. You can also move the caret to one of the date/time components (month, day, year, hour, minute, second, AM/PM) and use keyboard arrow keys, PgUp/PgDn, or the mouse wheel to increment values. Best of all, pressing the left/right arrow keys will instantly jump between the various "parts" (components) of the edit box value and select the part's text.
The date/time value can be displayed in any desired standard or custom format. By default it will use the current culture's default date/time format.
If the user doesn't have a keyboard, mouse or touch can be used to display the popup. The popup contains a HorizontalListBox at the top that switches between DatePicker and TimePicker controls. These two pickers allow for easy mouse/touch selection of dates and times.
Most competitors have either made date and time pickers that show a large Windows Phone-like spinning selectors, or have gone with the multiple ComboBox approach like these native WinRT DatePicker and TimePicker controls do:
Neither of those control types are ideal for WinRT apps that can potentially be run on large desktops with keyboards. Compare the usability of the above to our single control:
Just like our other edit boxes, this edit box will render itself like a button when used on Windows Phone. Tapping the button shows a full screen picker (same as above) where the date value can be selected.
This post shows how an DateTimeEditBox control can accept date and time input in a single control within a Windows Store or Windows Phone app. Download our WinRT/XAML Controls to check it out, along with our other beautiful and functional editor controls!