25

The question is basically related to Possible to use Toast Notifications from a regular .Net application?

How can I use the Windows.UI namespace from a regular (Non-Store) Win32 .NET application (Console, WinForms, WPF)?

4

1 回答 1

32

Certain WinRT classes can be used from desktop apps, including portions of the Windows.UI namespace. The toast notification APIs are one such example - they can be used by both Windows Store apps and desktop apps. In the API reference section, each class page shows if the API applies to Windows Store apps or desktop apps (example for toast). There is a sample of using the toast notification APIs from a desktop app provided on MSDN.

MSDN contains a full list of the WinRT classes that are available to desktop apps.

Edit:

The ability to add a reference to the WinRT APIs is off by default in C# desktop apps. The project needs to specifically target the Windows 8 platform. To add a reference to WinRT APIs (the Windows.winmd assembly), add the following to your project file:

<PropertyGroup>
    <TargetPlatformVersion>8.0</TargetPlatformVersion>
</PropertyGroup>

After adding that to the project, a "Windows" tab will appear in the Reference Manager dialog, and you can add the Windows assembly. For more information, see 'Core Subgroup' on this MSDN article.

于 2012-10-05T14:09:07.340 回答