Martin Suchan – BloQ Random #WPdev stuff

5May/150

tl;dw Build 2015 – What’s New in XAML for Universal Windows Apps

Here's my too long; did not watch summary of the Build 2015 session What's New in XAML for Universal Windows Apps that I just seen.

XAML UI is the primary native UI Framework for Windows 10 Apps and Services. Lot of new features were added to it with the same goal  - increase the reach and dev opportunity, reduce the cost to deliver apps and decrease loading time and memory footprint.

When creating new Windows 10 project there is now only one universal Windows project template for all platform or devices.

New Native CalendarView control is now available for developers. Touch Friendly, used in Outlook, Calendar popup when tapping the current date in bottom right corner.

Basic controls were updated to match across all platforms. Context menu is now cascading. On Desktop it can go outside the window, which is nice. When invoked by touch, it's bigger, tailored for the target platform and input type.

When running app on Xbox One overlay rectangles are shown over the active control. It works the way you expect it to work. It runs on Raspberry Pi 2 too, just deployed and it works.

In some controls there were differences between WP and Windows behavior, like in PasswordBox the Show Password icon. In some scenarios both original behaviors were kept with the option to select the right one for your app.

There is both SearchBox and AutoSuggestBox in Windows 10. SearchBox will be likely deprecated in the future.

There is updated Pivot control in Windows 10 that works great on large screens too. Optionally it can work as Tabs too.

New ContentDialog control, like MessageDialog, but you can customize it with your own XAML content.

 

Simplifying Responsive View Development

New SplitView control - basically a navigation affordance, typically used with the Hamburger button in top left corner.

Capture

New AdaptiveTrigger and simplified Setters, no need to use Storyboard + ObjectAnimationUsingKeyFrames + DiscreteObjectKeyFrame just to change single discrete value from A to B.

Capture

RelativePanel - the replacement for common pattern - nested panels. Gives better performance in typical scenarios where nested panels are used in ItemTemplates.

Before, nested Grid and StackPanel.

Capture

After, with RelativePanel

Capture

 

XAML Performance improvements in Windows 10

If you just take your Windows 8.1 app and run it on Windows 10, it runs faster. If you recompile your Windows 8.1 app to Windows 10, it runs even faster!

New Compiled Bindings - {x:Bind} instead of {Binding}, better performance and memory footprint. Compile time property check, support for binding event handlers.

Capture

 

More details about the Bindings improvements in Windows 10: Data Binding: Boost Your Apps' Performance Through New Enhancements to XAML Data Binding

Change notification on all Dependency Properties

PerspectiveTransform3D - Composable 3D Transforms (Effects: 3D Rotations, Parallax)

Windowing - Custom chrome, branding, sizing. Used heavily in the Edge browser, you can use it too.

Ink Canvas - Palm rejection, smoothing, high fidelity

Drag and Drop from Desktop to Store apps

Visual Tree Inspector of a running app

Filed under: WPdev Leave a comment