You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Use these Github repositories to learn about Windows development. Sample apps demonstrate Windows features, API usage patterns, and end-to-end scenarios.
3
+
description: Use these GitHub repositories to learn about Windows development. Sample apps demonstrate Windows features, API usage patterns, and end-to-end scenarios.
This page contains links to resources that can make you more efficient as you develop your apps for Windows. It includes sample apps and toolkits; code samples that demonstrate specific tasks, features, and API usage patterns; and tools to enhance your development environment.
14
+
This page contains links to resources that can make you more efficient as you develop your apps for Windows.
15
15
16
-

16
+
## Samples
17
17
18
-
## Sample gallery apps
18
+
:::image type="content" source="./images/WASDK.png" alt-text="Header image for Windows App SDK" border="false":::
The [**WindowsAppSDK-Samples repository**](https://github.com/microsoft/WindowsAppSDK-Samples) provides a collection of code samples that demonstrate how to use the Windows App SDK to build modern Windows applications. These samples cover key features such as WinUI 3, App Lifecycle, Windowing, and Push Notifications, offering practical, hands-on guidance for developers. Whether you're new to the Windows App SDK or looking for specific implementation details, this repository serves as a valuable resource to accelerate development and explore best practices. Other samples can be found in our [Samples Browser](/samples/browse/).
21
21
22
-
The WinUI 3 Gallery app showcases all the XAML UI components in an interactive format. This app is the interactive companion to the [Fluent Design Guidelines](/windows/apps/design/) and has examples of WinUI 3 controls, features, and styles.
23
22
24
-
You can get the app from the [Microsoft Store](https://www.microsoft.com/store/productId/9P3JFPWWDZRC) or get the source code on GitHub at [microsoft/WinUI-Gallery](https://github.com/microsoft/WinUI-Gallery).
23
+
> [!div class="nextstepaction"]
24
+
> [Explore all Windows App SDK samples](https://github.com/microsoft/WindowsAppSDK-Samples)
Use this sample app to browse through a collection of samples showing creative ways to customize and differentiate your app, then check out the accompanying code on GitHub to see how it was made. It showcases a variety of [Microsoft.UI.Composition](/windows/windows-app-sdk/api/winrt/microsoft.ui.composition) and [Microsoft.UI.Input](/windows/windows-app-sdk/api/winrt/microsoft.ui.input) APIs, the building blocks that make up the Fluent Design System.
28
+
:::image type="content" source="./images/winui3gallery.png" alt-text="Header image for WinUI 3 Gallery" border="false":::
29
29
30
-
You can get the app from the [Microsoft Store](https://apps.microsoft.com/detail/9N1H8CZHBPXB)or get the source code on GitHub at [microsoft/WindowsCompositionSamples](https://github.com/microsoft/WindowsCompositionSamples).
30
+
The [**WinUI 3 Gallery**](https://github.com/microsoft/WinUI-Gallery) is the must-have companion app for WinUI developers. It's a sample app that showcases the full range of WinUI 3 controls, styles, design guidance, and capabilities. This interactive gallery helps you explore and experiment with WinUI components, view XAML code examples, and understand best practices for building modern, fluent Windows applications. Whether you're designing a new app or refining an existing UI, the WinUI Gallery is an essential reference for leveraging the power of WinUI in your projects. You can either [browse the repository](https://github.com/microsoft/WinUI-Gallery) for source code or [**download the WinUI 3 Gallery from the Microsoft Store**](https://aka.ms/winuigallery).
31
31
32
-
## Toolkits and helpers
33
32
34
-
[**Windows Community Toolkit**](https://github.com/CommunityToolkit/Windows)
33
+
> [!div class="nextstepaction"]
34
+
> [Get started with WinUI 3 Gallery](https://aka.ms/winuigallery)
35
35
36
-
The Windows Community Toolkit is a collection of helper functions, custom controls, and app services. It simplifies and demonstrates common developer tasks when building apps for Windows. See [Get started with the Windows Community Toolkit](/dotnet/communitytoolkit/windows/getting-started) for detailed information about using the toolkit.
36
+
##Windows Community Toolkit
37
37
38
-
You can get the _Windows Community Toolkit Gallery_ app from the [Microsoft Store](https://aka.ms/windowstoolkitapp) to see the controls in an actual app or get the source code on GitHub at [CommunityToolkit/Windows](https://github.com/CommunityToolkit/Windows).
38
+
:::image type="content" source="./images/WCT.png" alt-text="Header image for Windows Community Toolkit" border="false":::
Template Studio for WinUI accelerates the creation of new WinUI apps using a wizard-based UI. It's available to create apps using C# and the [MVVM Toolkit](/dotnet/communitytoolkit/mvvm/).
43
-
44
-
You can get the extension from the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=TemplateStudio.TemplateStudioForWinUICs) or get the source code on GitHub at [microsoft/TemplateStudio](https://github.com/microsoft/TemplateStudio).
45
-
46
-
> [!IMPORTANT]
47
-
> Template Studio for WinUI only creates apps that use the [MVVM](/dotnet/communitytoolkit/mvvm/) design pattern. It does not support creating apps that use the standard code-behind pattern.
48
-
49
-
## Windows App SDK / WinUI 3 samples
50
-
51
-
The samples in this list demonstrate features from the Windows App SDK and WinUI 3. See our [Samples Browser](/samples/browse/) for a more extensive catalog of samples.
52
-
53
-
Most of the samples identified in this list contain Solution (`.sln`) files that can be opened in Visual Studio. Refer to each resource's `Readme` for additional instructions.
54
-
55
-
You can find these sample in the main Windows App SDK samples repository on GitHub at [microsoft/WindowsAppSDK-Samples](https://github.com/microsoft/WindowsAppSDK-Samples)
56
-
57
-
### Samples that demonstrate specific tasks
58
-
59
-
| Sample | Task |
60
-
|--|--|
61
-
|[Activation](https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/Samples/AppLifecycle/Activation)|**Handle app activation kinds**. [App activiation APIs](../windows-app-sdk/applifecycle/applifecycle-rich-activation.md) control the way that your app handles activation kinds like `Launch`, `File`, and `Protocol`. |
62
-
|[App Instancing](https://github.com/microsoft/WindowsAppSDK-Samples/blob/main/Samples/AppLifecycle/Instancing)|**Determine application instancing behavior**. [App instancing APIs](../windows-app-sdk/applifecycle/applifecycle-instancing.md) control whether or not users can run multiple instances of your application at the same time. |
63
-
|[Power Notifications](https://github.com/microsoft/WindowsAppSDK-Samples/blob/main/Samples/AppLifecycle/StateNotifications)|**Use state notifications**. [State notifications](../windows-app-sdk/applifecycle/applifecycle-power.md) allow you to detect when the user's device enters specific states, such as low power mode. |
64
-
|[Restart](https://github.com/microsoft/WindowsAppSDK-Samples/blob/main/Samples/AppLifecycle/Restart)|**Programatically restart your app**. This sample makes use of the Windows App SDK [Restart APIs](../windows-app-sdk/applifecycle/applifecycle-restart.md). |
65
-
|[Resource Management](https://github.com/microsoft/WindowsAppSDK-Samples/blob/main/Samples/ResourceManagement)|**Tailor your app to the user and device settings**. [MRT Core resource management APIs](../windows-app-sdk/mrtcore/mrtcore-overview.md) allow you to adapt resource utilization to specific situations. |
66
-
|[Deployment Manager](https://github.com/microsoft/WindowsAppSDK-Samples/blob/main/Samples/DeploymentManager)|**[Call the Deployment API](../windows-app-sdk/deploy-packaged-apps.md#call-the-deployment-api)** to ensure that Windows application framework components are up to date. |
67
-
|[Installer](https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/Samples/Installer)|**Launch the Windows App SDK installer** without using a console window. |
68
-
|[TextRendering with DWriteCore](https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/Samples/TextRendering)|**Render text** using DWriteCore APIs. |
69
-
|[Unpackaged](https://github.com/microsoft/WindowsAppSDK-Samples/blob/main/Samples/Unpackaged)|**[Windows App SDK deployment guide for framework-dependent apps packaged with external location or unpackaged](../windows-app-sdk/deploy-unpackaged-apps.md)**, an alternative to packaged app deployment architecture. |
70
-
|[Dynamic Dependencies](https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/DynamicDependenciesSample/DynamicDependencies)| Demonstrates the techniques shown in [Use the dynamic dependency API to reference MSIX packages at run time](../desktop/modernize/framework-packages/use-the-dynamic-dependency-api.md). |
71
-
|[Push Notifications](https://github.com/microsoft/WindowsAppSDK-Samples/blob/main/Samples/Notifications/Push)|**Add push notifications to your app**. [Push Notifications](../windows-app-sdk/notifications/push-notifications/push-quickstart.md) can be used to send device-native app notifications to users. |
72
-
|[App Notifications](https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/Samples/Notifications/App)|**Add toast notifications to your app**. See [App Notifications](../windows-app-sdk/notifications/app-notifications/app-notifications-quickstart.md?tabs=cs) to learn more. |
73
-
|[Custom Controls](https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/Samples/CustomControls)|**Add custom C#/WinRT controls to your app** using the patterns demonstrated in [Author Windows Runtime components with C#/WinRT](../develop/platform/csharp-winrt/authoring.md). |
74
-
|[Windowing](https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/Samples/Windowing)|**Add windowing support to your app** to create/hide new windows, customize titlebars, and more. See [Manage App Windows](../windows-app-sdk/windowing/windowing-overview.md) to learn more. |
75
-
76
-
## Development environment
40
+
The [**Windows Community Toolkit**](https://github.com/CommunityToolkit/Windows) is an open-source collection of helper functions, custom controls, and app services. It simplifies and demonstrates common developer tasks when building apps for Windows.
77
41
78
-
If you've completed the steps in [Get started with WinUI](), then you've already installed Visual Studio and enabled Developer Mode. These links provide more information about these tools to take you beyond the basics.
42
+
You can get the [**Windows Community Toolkit Gallery app from the Microsoft Store**](https://aka.ms/windowstoolkitapp) to see the controls in an actual app or get the source code on GitHub at [CommunityToolkit/Windows](https://github.com/CommunityToolkit/Windows).
79
43
80
-
**Developer Mode**
44
+
> [!div class="nextstepaction"]
45
+
> [Explore the Windows Community Toolkit](https://github.com/CommunityToolkit/Windows)
81
46
82
-
Windows has a special mode for developers that adjusts security settings in order let you to run the apps you're working on. For more information, see [Enable your device for development](enable-your-device-for-development.md) and [Developer Mode features and debugging](developer-mode-features-and-debugging.md).
47
+
## Other
48
+
[**.NET Community Toolkit**](https://github.com/CommunityToolkit/dotnet)
The .NET Community Toolkit is a collection of NuGet packages with high-performance helpers, extensions, and APIs designed to enhance .NET development across WinUI, WPF, MAUI, and other .NET applications. A key component is the [MVVM Toolkit](/dotnet/communitytoolkit/mvvm/), a lightweight and modern Model-View-ViewModel (MVVM) library that simplifies app architecture with features like observable properties, commands, and dependency injection. Built for performance and flexibility, the MVVM Toolkit helps you implement MVVM patterns efficiently while keeping your code clean and maintainable.
85
51
86
-
The preferred development tool of many Windows developers, Visual Studio will let you create projects for Windows, and many other platforms. It is a powerful IDE that can help you write, debug, and deploy your apps. For more information about the many things you can do with Visual Studio, see the [Visual Studio documentation](/visualstudio/windows).
87
52
88
-
[**Visual Studio Code**](https://code.visualstudio.com)
89
53
90
-
A highly extensible editor, Visual Studio Code can be customized to support almost any kind of development you can think of. It is a great choice for writing apps for Windows, and other platforms. For more information, see the [Visual Studio Code documentation](https://code.visualstudio.com/docs).
91
-
92
-
### Additional tools
93
-
94
-
These additional tools will help you [set up your development environment on Windows](/windows/dev-environment/).
95
-
96
-
:::row:::
97
-
:::column:::
98
-
[**Dev Drive**](/windows/dev-drive/)<br/>In order to speed up common development tasks, you can create a specially formatted drive (a Dev Drive) that is used to store your projects.
99
-
:::column-end:::
100
-
:::row-end:::
101
-
:::row:::
102
-
:::column span="":::
103
-
[**Windows Terminal**](/windows/terminal/)<br/>Windows Terminal is a modern host application for the command-line shells you already love, like Command Prompt, PowerShell, and bash (via WSL).
104
-
:::column-end:::
105
-
:::column span="":::
106
-
[**Windows Subsystem for Linux (WSL)**](/windows/wsl/install)<br/>WSL lets you run Linux distributions on Windows. This is a great way to use open source tools to develop apps for Windows.
107
-
:::column-end:::
108
-
:::row-end:::
109
-
110
-
## Language documentation
111
-
112
-
Most WinUI apps are written in C# or C++. These guides contain articles, tutorials, and code samples to help you get started with these languages.
113
-
114
-
-[C# language documentation](/dotnet/csharp/)
115
-
-[C++ language documentation](/cpp/)
116
-
-[C++/WinRT language documentation](/windows/uwp/cpp-and-winrt-apis/)
117
-
118
-
## Next steps
119
-
120
-
Now is also a good time to create a developer account. Among other things, this will allow you to publish your apps to the Microsoft Store. Here is how you do that: [Create a developer account](/windows/apps/get-started/sign-up)
Template Studio provides a powerful scaffolding tool for quickly generating modern Windows applications using WinUI 3 or WPF. The Visual Studio extension guides developers through a wizard-based experience to create project templates with best practices, including MVVM architecture, navigation patterns, dependency injection, and predefined app features. By automating boilerplate setup, Template Studio helps developers focus on building great experiences while ensuring consistency and maintainability in their applications.
Copy file name to clipboardExpand all lines: hub/dev-drive/index.md
+8-8Lines changed: 8 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -24,8 +24,8 @@ Before setting up a Dev Drive, **ensure that the prerequisites are met.**
24
24
### Prerequisites
25
25
26
26
- Windows 11, Build #10.0.22621.2338 or later ([Check for Windows updates](ms-settings:windowsupdate))
27
-
- Recommend 16gb memory (minimum of 8gb)
28
-
- Minimum 50gb free disk space
27
+
- Recommend 16 GB memory (minimum of 8 GB)
28
+
- Minimum 50 GB free disk space
29
29
- Dev Drives are available on all Windows SKU versions.
30
30
- Local administrator permissions.
31
31
@@ -58,9 +58,9 @@ When choosing the **Create new VHD** option to set up a Dev Drive, you will then
58
58
59
59
-**Virtual hard disk name**: Give a name to your VHD (Dev Drive).
60
60
-**Location**: Assign a directory path where the Dev Drive VHD will be located on your machine. The default location is `C:\`, unless creating a Dev Drive using [Dev Home](../dev-home/index.md), in which case the default location is `%userprofile%\DevDrives`. We recommend using a per-user directory path location to store your Dev Drive to avoid any unintentional sharing.
61
-
-**Virtual hard disk size**: Assign the amount of disk space that will be allocated for the volume to use, minimum size is 50GB.
61
+
-**Virtual hard disk size**: Assign the amount of disk space that will be allocated for the volume to use, minimum size is 50 GB.
62
62
-**Virtual hard disk format**:
63
-
-**VHD**: Supports virtual disks up to 2040GB in size.
63
+
-**VHD**: Supports virtual disks up to 2040GB in size.
64
64
-**VHDX** (Recommended): Supports a maximum of 64 TB and offers more resilient protection against unexpected IO failure caused by issues like power outage. [Learn more about Managing VHDs](/windows-server/storage/disk-management/manage-virtual-hard-disks).
65
65
-**Disk type**:
66
66
-**Fixed size** - This virtual hard disk file is allocated to the maximum size when created.
@@ -78,11 +78,11 @@ To **Resize an existing volume**:
78
78
79
79

80
80
81
-
2. Choose a new size for the volume. You will need to have at least 50GB of unallocated space available, the minimum size needed for a Dev Drive. Once the size is set, select **Next**.
81
+
2. Choose a new size for the volume. You will need to have at least 50 GB of unallocated space available, the minimum size needed for a Dev Drive. Once the size is set, select **Next**.
82
82
83
83

84
84
85
-
3. To format a Dev Drive on the new free space, specify the **Label** (drive name), **Drive Letter**, and **Size** allocation. The maximum size will be the amount of free space you allocated in the previous step, the minimum size for a Dev Drive is 50GB.
85
+
3. To format a Dev Drive on the new free space, specify the **Label** (drive name), **Drive Letter**, and **Size** allocation. The maximum size will be the amount of free space you allocated in the previous step, the minimum size for a Dev Drive is 50 GB.
86
86
87
87

88
88
@@ -350,11 +350,11 @@ No, applications or tools installed on your machine’s C: drive can utilize fil
350
350
351
351
### Does ReFS use more memory than NTFS does?
352
352
353
-
Yes, ReFS uses slightly more memory than NTFS. We recommend a machine with at least 8gb of memory, ideally 16gb.
353
+
Yes, ReFS uses slightly more memory than NTFS. We recommend a machine with at least 8 GB of memory, ideally 16 GB.
354
354
355
355
### Can I have more than one Dev Drive on my machine?
356
356
357
-
Yes. If you have the space, you can create as many Dev Drives as you would like. Using a separate Dev Drive for each software development project would allow you to simply delete the drive at the end of development, rather than repartitioning your disk again. However, keep in mind that the minimum size for a Dev Drive is 50GB.
357
+
Yes. If you have the space, you can create as many Dev Drives as you would like. Using a separate Dev Drive for each software development project would allow you to simply delete the drive at the end of development, rather than repartitioning your disk again. However, keep in mind that the minimum size for a Dev Drive is 50 GB.
358
358
359
359
### What do I need to know about using Dev Drive with Visual Studio?
0 commit comments