We’ve seen how the Windows 10 AdaptiveTrigger can help you create a dynamic responsive UI based on the height or width of the device or screen. However, this trigger is limited to a specific value for each dimension, and offers no way to respond to changes in the relationship between them, such as to determine the orientation or aspect ratio of the app.
Fortunately, you are not limited to only the AdaptiveTrigger in Windows 10; you can create your own custom statetriggers based on virtually any property, even those not at all related to the UI. In this post, we’ll look at how we combined both the width and orientation properties of the app to create a custom OrientationSize trigger to switch between visual states using these properties.
Read more at the Falafel Software Blog: Windows 10 Development: Custom StateTriggers
In the previous post we looked at the basics of UI automation in Windows 10 apps using Blend to declare the XAML for Visual States. However, while last time we used event handlers in the code-behind of a page to trigger different states, this time we’ll see how to use the new AdaptiveTriggers in Windows 10 to let the application handle state transitions automatically.
Read more at the Falafel Software Blog: Windows 10 Development: Responsive Design with AdaptiveTriggers
The VisualStateManager in Windows 10 apps defines, manages, and transitions between different states of controls on a page. Today we’ll see how to use Blend to create different app states and transition between them.
Read more at the Falafel Software Blog: Windows 10 Development: UI Automation with Blend and VisualStateManager
This post describes the need for and implementation of a UniformGrid layout control that, when used with a ListView, allows the repeated elements to appropriately stretch to a consistent size to achieve a grid-like layout.
Read more at the Falafel Software Blog: Windows 10 Development: Creating a UniformGrid Container
Another new control in the Windows 10 Developer toolbox is the RelativePanel, a layout container which enables flexible positioning between the elements it contains. Today we’ll take a closer look at this control and how we used it to build the UI of the Falafel2Go app for Windows 10.
Read more at the Falafel Software Blog: Windows 10 Development: RelativePanel
Now that we have a simple but solid foundation for a complete Windows 10 app, let’s take a tour through some of the brand new controls available on the platform. Today we’ll look at the SplitView control, which enables you to quickly create a consistent, intuitive navigation UI that can automatically adjust to different screen sizes and device platforms.
Read more at the Falafel Software Blogs: Windows 10 Development: SplitView
Following our last post, we now have a solid framework for our app to handle state and lifecycle. However, at this point we are still navigating the app directly from the code-behind of the Views, which ties the navigation to the platform code. In addition to not cluttering up our code, this also restricts us from fully taking advantage of the cross-platform opportunities offered by MvvmLight.
Today we’ll see how to centralize this navigation code, removing the platform-specific definition and moving from the code-behind to the ViewModels, allowing maximum reuse of code. We’ll begin with the code related to navigation.
Read more on the Falafel Software Blogs: Windows 10 Development: MvvmLight NavigationService and the Behaviors SDK
We have so far created a simple app with two pages, that uses simple Frame navigation to go back and forth. However, the app is still missing one crucial feature: state management. When an app is suspended for whatever reason (such as being minimized on the desktop or navigated away from on the phone), it is up to the developer to maintain the current state so that it can be fully restored where the user left off.
In this post we’ll look at a simple way we can achieve this by leveraging helper classes from the Windows 8.1 project templates.
Read more at the Falafel Software Blogs: Windows 10 Development: Maintaining Application State>
So far we’ve setup a few pages with some design-time data to help us layout the app, but running it still yields a blank screen with no interaction possible. We’ll remedy this by loading the sample data at runtime and adding a simple navigation implementation to allow us to go back and forth between the pages.
Read more at the Falafel Software Blogs: Windows 10 Development: Adding Simple Navigation
In our last post, we installed the MVVM Light Toolkit and defined the basic framework for a simple two-page app with the MVVM pattern. With the ViewModels we created, we now have the containers for the data, but it would be even more helpful to pre-populate them with some sample data to aid in the designing of the app.
Read more at the Falafel Software Blogs: Windows 10 Development: Adding Design-Time Data with Blend