Top 5 New XAML Features for Windows 8.1 Developers

Brent Schooley / Monday, July 1, 2013

Last night I finally had the opportunity to watch some of the key sessions from day one at Build 2013. On day one I was working the Infragistics booth so I didn’t have the chance to see any of the many great sessions that day. One of the sessions I was most looking forward to was Tim Heuer’s What’s New in XAML. This session introduced the features that have been added to XAML for Windows Store developers in Windows 8.1. Here’s a rundown of my top 5 out of the many, many (seriously, there are over 650+ new APIs!) new things Microsoft added for this release.

header

Hub Control

If you have used any of the Bing apps in Windows 8 (News, Travel, Sports, etc.), you have seen the type of application the Hub control allows you to create. This style of application typically has a “hero” section which contains a full-bleed image and is used as a headline section for the hub. The rest of the Hub contains HubSections that can contain arbitrary content. In Windows 8 to attempt to make this kind of application you had to do a lot of hacks on the GridView to bend that control in ways it wasn’t intended to work. Microsoft realized people wanted to create these kinds of applications and have provided a control that makes it pretty easy to do. There is a new Hub Application template you can use to get started. You can read more about the Hub here.

hub

CommandBar

Another common application scenario for Windows Store applications is the App Bar. Although the existing AppBar control is completely usable, Microsoft felt like it could be improved upon for XAML developers. Microsoft has introduced the CommandBar and various AppBarButton controls for Windows 8.1. The AppBarButton, AppBarToggleButton, and AppBarSeparator controls are new buttons that are circles instead of rectangles as their default appearance and include Label and Icon properties instead of a Content property. The IsCompact property on these buttons allow you to drop the labels when not needed. When used in conjunction with the new CommandBar control, these labels can be omitted automatically for you when Windows detects the app width justifies it. You can read more about the app bar changes here.

commandbar

New Flyout Control

Yet another feature on the theme of “we recognize you need some help to make this easier,” Microsoft has added some Flyout controls to XAML. In Windows 8, XAML developers had to use the Popup control to emulate the Flyout control that was available in WinJS. It worked, but it wasn’t the easiest thing in the world to get right. Since Flyouts are commonly used in App Bar button scenarios, Microsoft has added a Flyout attached property to the Button control. By adding a Flyout or MenuFlyout control to this attached property, Windows will handle all of the UX guidelines for placement and positioning for you for the Flyout. You can even add a Flyout to any FrameworkElement using the FrameworkElement.AttachedFlyout property. This is a great change that will make another common app scenario easier to target.

New DatePicker and TimePicker controls

I am honestly surprised that the Windows 8 SDK shipped without date or time pickers. It’s omissions like this one that helped make it very hard to take Windows 8 seriously for line of business (LOB) applications. In fact, even non-LOB applications benefit from these form style inputs. Thankfully, Microsoft has added date and time pickers to the Windows 8.1 SDK. And there was much rejoicing. Not much more to say about this one. Read all about the new pickers here.

datepicker

StandardStyles.xaml is gone!

This change is what I would consider a little big thing. It’s a small change, but integrating all of the good things that are in StandardStyles.xaml directly into the framework means there’s one less file for the XAML parser (and XAML developers) to deal with. All of your favorite text and button styles are all now fully baked into the platform and you no longer have to go searching for them.

Summary

I am only scratching the surface on what has been added to XAML in Windows 8.1. I encourage you to watch Tim’s presentation to see these features, and more, in action.  After you watch the session, make sure you evaluate it to give Tim feedback!  I’ll have more to say on some of the other cool new XAML features (such as enhanced Intellisense for StaticResource!) when I talk about the new Blend/Visual Studio features for XAML developers.

If you’re doing Windows Store development, check out Infragistics Windows UI controls!

Contact

If you want to comment or reach out to me, the best place to do that is on Twitter @brentschooley. I can also be reached via email at bschooley@infragistics.com.