File types and URIs

Guidelines for file types and URIs

Description

In Windows 10, the relationship between apps and the file types they support differs from previous versions of Windows. By understanding these differences, you can provide a more consistent and elegant experience for your users.

Dos and don'ts

  • Position the flyout near its point of invocation.

Additional usage guidance

Guidelines for Universal Windows Platform (UWP) apps

When opening a file or URI, the user may need to use the Open With list to select which app to use as the default. Windows 10 implements this list as a flyout. Although you can't customize the contents of the Open With flyout, you can control its position in your app. Be sure to follow the guidelines and position the flyout near its point of invocation whenever possible.

Here's an example of an ideal way to use the flyout. Notice that it's located right next to the button that called it.

Example of the Open With list

You can present files and URIs however you see fit—typically as a thumbnail or a hyperlink. The primary action for these items should be Open. This option should invoke the default handler for the file or URI, which might result in showing the Open With flyout. (We recommend that you assume that the flyout appears in some cases and position it accordingly.)

If you choose to implement any secondary actions for files or URIs in your app, such as Save As or Download, consider letting the user choose an alternate app from an Open With flyout.

Remember, UWP apps can't set, change, or query default apps for file types and URIs, so you shouldn't try to add that functionality to your app.

The Association launching sample provides examples of how to implement the preceding scenarios in the recommended way.

Related topics

For designers
UX guidelines for UWP apps
For developers
Handle file activation
Handle URI activation
Launch the default app for a file
Launch the default app for a URI
IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI
Windows.ApplicationModel.Activation.FileActivatedEventArgs
Windows.ApplicationModel.Activation.ProtocolActivatedEventArgs
Windows.System.Launcher.LaunchFileAsync
Windows.System.Launcher.LaunchUriAsync

 

 

Show:
© 2016 Microsoft