Tweets by @Actipro
Please take some time to learn more about us and our product offerings.
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.
Let's have a look at how this works.
Here we have a PropertyGrid and you'll notice that the CharacterCasing property has standard values of Normal, Lower, etc.
By double-clicking on the name cell, the value cycles to the next value in the standard values list.
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.
Yesterday we posted about a UniformGrid panel control that was being added to our WinRT/XAML and Silverlight Shared Libraries. This sort of panel is already available in native WPF so no implementation was necessary there.
In today's post, I'd like to show another new control coming to our WPF, Silverlight, and WinRT/XAML control platforms: HorizontalListBox.
The HorizontalListBox control is… wait for it… a standard ListBox that uses a horizontal layout. In fact it uses a UniformGrid panel with a single row specification to achieve its layout. This has the benefit of ensuring that each item in the list has an equal width.
This sort of design is great for toggle sorts of controls where there are two or more values from which to choose. In multi-selection mode, you can also toggle each item individually.
Let's have a look of the WinRT version:
Here we have a couple HorizontalListBox controls in place. One for selecting gender and one for doing multiple selection of days of the week. Everything is simple and touch-friendly. Any content can be rendered in the list box items as well.
And here is the WPF version:
It's the same exact control and API but here it renders in the current theme (in this case Metro Light) via our WPF Themes infrastructure.
Best of all, since this restyled control simply inherits the native ListBox, you have all the features available to you that come from the base native ListBox control. Our control has some enhancements such as Left/Right arrow key navigation too.
The HorizontalListBox control will be available in the next 2014.1 maintenance releases of our WPF, Silverlight, and WinRT/XAML Shared Libraries, and will be licensed for use by any of our customers of those control platforms.
We've been working on some new controls and while developing one in particular that we'll post about next time, we had a need for a UniformGrid panel. The UniformGrid panel is already available in native WPF, but isn't available in WinRT/XAML or Silverlight.
For the next maintenance releases of our WinRT/XAML and Silverlight controls, we rolled our own UniformGrid that has the same properties as the WPF version, making it easy to reuse code across platforms.
The UniformGrid automatically lays out items in a grid such that the row and column counts are the same, and each item in the panel has the same size.
In this screenshot, the panel has four items in it. Thus a 2x2 grid is created to display them all.
In this screenshot, we have seven items so a larger grid is necessary. A 3x3 grid is used instead.
You also have the option to specify a certain number of rows or columns that should be used.
In this screenshot, we have specified that two columns should be used. The panel therefore creates a 2x4 grid (two columns and four rows). Note that regardless of layout, items always appear in the same size.
You can see that UniformGrid provides for a lot of interesting layout scenarios, especially when you tell it a certain number of rows or columns to use.
The UniformGrid panel will be available in the next maintenance release of our WinRT/XAML and Silverlight Shared Libraries and is licensed for use by any of our customers of those control platforms.
Our next blog post will show off another new control coming to our XAML platforms that makes use of this new panel.
Last year, we created a sample for showing how a hosted Windows Workflow Designer instance could be integrated with Actipro WPF controls within a custom WPF application to provide a very elegant interface for end users.
We have continued enhancing it and here's what it currently looks like:
Our Docking/MDI product is used to provide the tool window and multiple document interface. Our SyntaxEditor code editor control, in single line edit mode, is injected as a custom expression editor. When you combine SyntaxEditor with our .NET Languages Add-on, you are able to have it support powerful IntelliPrompt completion lists. For instance, in the screenshot above, you can see the itemCount variable is showing up in the completion list since it was declared below.
In recent updates, we've:
When you put it all together, it's very easy to integrate Actipro WPF controls with rehosted Windows Workflow Designer instances in your applications. It only takes a few minutes to get up and running, and once you do, the result is well worth the time.
If you rehost the Windows Workflow Designer in your WPF apps and would like our example, please contact us and we'll be happy to share it with you!
For those customers who downloaded either of the prior versions, this update is at the same URL as before.
We are adding a JSON language implementation to the WinForms SyntaxEditor samples for the next maintenance release.
The JSON syntax language has these features:
This new syntax language example will be included in the next WinForms Controls maintenance release.
In this quarter we published the 2014.1 versions of our WPF, Silverlight, WinRT/XAML, and WinForms controls. These versions included a lot of new controls and feature enhancements for our existing controls. Check out the release posts for more detail.
Our free Code Writer Windows Store app had a couple releases that added context menus, new file types like JSON, many find/replace improvements, and much more.
The 2014.1 versions of our WPF, Silverlight, and WinRT/XAML controls were released last week and all contain several handy components in them, such as the RingSlice control we talked about several days ago.
In today's post, I'd like to show off the new RadialSlider control.
The RadialSlider control allows for quick selection of a degree value, which can easily be converted to some form of scalar value. The control uses an embedded CircularThumb control, but is otherwise transparent. It is meant to be used in conjunction with the RingSlice control and have that control render the slider's value UI.
Radial sliders function just like normal linear sliders however instead of moving the slider thumb in a straight line, the thumb can move in a circular fashion around the slider's center point. This sort of UI allows for additional precision when compared to linear sliders, especially with touch interaction.
RadialSlider supports minimum/maximum ranges, infinite wrapping mode, customizable thumb styles, and more.
Combine two RadialSlider controls on top of each other to enable range-based selection.
RadialSlider and RingSlice controls can be used to create radial input controls such as in this sample (included in our download), which mimics a countdown timer in the Windows Alarms app:
The sample above is a composite of two RadialSliders (for which you can see the thumbs that set minutes and seconds values), three RingSlices of various purple shades (that indicate the hours, minutes, and seconds values), and three RingSlices of various gray shades (that form the background "tracks").
The end user simply grabs the thumbs, either via touch or mouse, and drags in a circular fashion to alter the values. The RingSlice controls that render the current values track with the dragged thumb.
The RadialSlider control is available in our WPF, Silverlight, and WinRT/XAML Shared Libraries and is licensed for use by any of our customers of those control platforms. Download v2014.1 and check it out!
Due to an issue we found with clicks on SyntaxEditor margins that was introduced in the last build, we just published a fix in new v2014.1 maintenance releases for our WPF, Silverlight, and WinRT/XAML controls.
Details on the updates can be found in this announcement post.
The 2014.1 versions of our WPF, Silverlight, and WinRT/XAML controls were released last week and all contain several handy components in them. One that I'd like to talk in more detail about today is the RingSlice control.
The RingSlice control renders a portion (or the entire circle) of a ring shape. Its start/end angles, radius, thickness, and other stroke properties can be set.
In the screenshots above, we see a RingSlice rendering a full ring and another showing how end caps can be customized.
In the screenshots above, we see how the same RingSlice control can have different stroke settings applied to it to provide dash effects.
Other very interesting composite controls can be created by using the RingSlice control together with other controls.
The screenshot above shows how four RingSlice controls are used to surround a TextBlock and make a segmented progress indicator. The fill of each RingSlice can be changed as progress occurs, so that the current step is reflected.
Finally, this screenshot shows the radial graph of a numeric value. Simply animate the end angle of the RingSlice to create a dynamic presentation of the data.
The RingSlice control is available in our WPF, Silverlight, and WinRT/XAML Shared Libraries and is licensed for use by any of our customers of those control platforms. Download v2014.1 and check it out!
WinForms Controls 2013.1 build 310 has been released and is now available for download.
This version features the updates we did to bring Metro Light themes to the controls as described in this post and this post. The new themes can make your app's Actipro controls render similar to the visual style found in Visual Studio 2013.
See the announcement post for the detailed list of enhancements and updates.