Tweets by @Actipro
Please take some time to learn more about us and our product offerings.
We've been hard at work over here on several new products for WPF Studio. The first that I've been posting about is the WPF Docking and MDI product. The Docking product is one of the new products that will be part of WPF Studio v4.0.
But we also have one other unannounced product coming to WPF Studio v4.0, and that is Actipro Gauge for WPF. We're very excited to have teamed up with NextWave to help enhance their forthcoming gauge product and include a split of the code as an Actipro branded product, and part of WPF Studio.
A linear gauge... use to represent any sort of linear values, such as in meters
Gauge for WPF supports the creation of nearly any kind of gauge that you can imagine. Basic gauge types include circular, linear, and digital gauges. It includes a wealth of configurable properties, allowing you to completely customize the look and capabilities of your gauges.
A circular gauge... use to create any sort of instrumentation, meter, or knob
What can you do build with Gauge for WPF?
A digital gauge... use to create clocks or any type of digital readout
What are some common use examples for these sorts of gauges?
Both Docking for WPF and Gauge for WPF will be included in Actipro WPF Studio v4.0. We expect final release in the coming weeks.
As we make further progress on our docking window and MDI product for WPF that will be added in Actipro WPF Studio v4.0, we've started to add some new themes.
The Docking for WPF product beta, displayed in its Office 2007 blue theme
The screenshot shows the newly implemented Office 2007 blue theme that will be part of Docking for WPF upon release. It will match perfectly when using it with our other WPF products, like Actipro Ribbon.
The final RTM version of Actipro Docking for WPF will include several themes that can be applied with one line of code.
In our latest maintenance release of WPF Studio's Shared Library v3.5.0427, we have added a simple decorator class called PixelSnapper.
The PixelSnapper decorator basically snaps the measurement of its child content to integer values, thereby helping to prevent blurry images and borders that may appear after it.
A problem in WPF is that images and borders can become very blurry when they are positioned on non-pixel boundaries. This makes the application appear to be poorly designed to end users even though technically, the developer did nothing wrong.
How does this scenario occur? Very easily in fact. Say you have a standard WPF Menu at the top of your Window. The text in the menu items may measure to 12.5 pixels high. Then lets assume that we have 2 pixels of padding. Now we have a Menu that is 16.5 pixels high and the problem has been introduced.
The control directly under the Menu will start at vertical location 16.5. If this control is an Image, all the pixels in the image will appear blurry in the vertical direction since each lies half on one pixel and half on the one below it. Even setting SnapsToDevicePixels to true does nothing to correct the issue.
In the screenshot below, we have a Border with a PixelSnapper surrounding it. In the left sample, the PixelSnapper has snapped its contents to integers, the default behavior. In the right sample, the PixelSnapper functionality has been disabled.
A demonstration of the differences between using and not using PixelSnapper
Note how the images, which are laid out after the Border, are blurry when not using PixelSnapper functionality due to the decimal size of the Border.
Where should you use PixelSnapper? Generally, text elements like TextBlock controls are the only ones that will measure to decimal values. So any time you have a text control in your UI and that control will affect the layout of other controls, we recommend you surround it with a PixelSnapper in your XAML. This will keep everything in your UI on pixel boundaries, enabling images and lines to remain crisp and clear.
PixelSnapper includes options for controlling how the separate horizontal and vertical measurements are rounded. Options for each include None, Floor, Ceiling, and Round.
This is the second sneak peek for the forthcoming Docking for WPF product that will be added to WPF Studio upon completion.
The runtime functionality is progressing very well. We have been getting questions from customers as to the XBAP capabilities of the docking windows. There's no better to relate these than to show a live screenshot.
The docking functionality in an XBAP, even with support for floating windows
The screenshot above shows Docking for WPF being hosted in an XBAP browser application. To create the screenshot we started with a default layout that was created in XAML and then at run-time, dragged the Solution Explorer tab to a floating location.
Docking for WPF uses a custom control class that mimics Window controls but can be used in contexts like XBAPs. It supports all the main functionality found in Window such as resizing, etc. By using this control, we can support floating tool windows in XBAP applications. They even have nice outer drop shadows to give them some depth.
Look for more posts on Docking for WPF development coming soon!