Héberger des contrôles XAML WinRT dans des applications de bureau (XAML Islands)Host WinRT XAML controls in desktop apps (XAML Islands)

À compter de Windows 10 version 1903, vous pouvez héberger des contrôles XAML WinRT dans des applications de bureau non conçues pour UWP à l’aide d’une fonctionnalité appelée XAML Islands.Starting in Windows 10, version 1903, you can host WinRT XAML controls in non-UWP desktop applications using a feature called XAML Islands. Vous pouvez ainsi améliorer l’apparence, le comportement et les fonctionnalités de vos applications WPF, Windows Forms et Win32 C++ existantes, mais aussi bénéficier des dernières nouveautés de l’interface utilisateur Windows 10 qui sont uniquement disponibles par le biais de contrôles XAML WinRT.This feature enables you to enhance the look, feel, and functionality of your existing WPF, Windows Forms, and C++ Win32 applications with the latest Windows 10 UI features that are only available via WinRT XAML controls. Cela signifie que vous pouvez utiliser des fonctionnalités UWP telles que Windows Ink et des contrôles prenant en charge le système Fluent Design dans vos applications WPF, Windows Forms et Win32 C++ existantes.This means that you can use UWP features such as Windows Ink and controls that support the Fluent Design System in your existing WPF, Windows Forms, and C++ Win32 applications.

Vous pouvez héberger n’importe quel contrôle XAML WinRT qui dérive de Windows.UI.Xaml.UIElement, notamment :You can host any WinRT XAML control that derives from Windows.UI.Xaml.UIElement, including:

  • Tout contrôle XAML WinRT de première partie fourni par le SDK Windows ou la bibliothèque WinUI 2.x.Any first-party WinRT XAML control provided by the Windows SDK or the WinUI 2.x library.
  • Tout contrôle XAML WinRT personnalisé (par exemple, un contrôle utilisateur qui se compose de plusieurs contrôles XAML WinRT fonctionnant ensemble).Any custom WinRT XAML control (for example, a user control that consists of several WinRT XAML controls that work together). Vous devez disposer du code source du contrôle personnalisé pour pouvoir le compiler avec votre application.You must have the source code for the custom control so you can compile it with your application.

À la base, les îles XAML sont créées à l’aide de l’API d’hébergement XAML UWP.Fundamentally, XAML Islands are created by using the UWP XAML hosting API. Cette API comprend plusieurs classes Windows Runtime et interfaces COM qui ont été introduites dans le SDK Windows 10 version 1903.This API consists of several Windows Runtime classes and COM interfaces that were introduced in the Windows 10, version 1903 SDK. Nous fournissons également dans le Windows Community Toolkit un ensemble de contrôles .NET XAML Island qui utilisent l’API d’hébergement XAML UWP en interne et qui offrent une expérience de développement plus pratique pour les applications WPF et Windows Forms.We also provide a set of XAML Island .NET controls in the Windows Community Toolkit that use the UWP XAML hosting API internally and provide a more convenient development experience for WPF and Windows Forms apps.

La façon dont vous utilisez XAML Islands dépend du type de votre application et des types de contrôles XAML WinRT que vous souhaitez héberger.The way you use XAML Islands depends on your application type and the types of WinRT XAML controls you want to host.

Notes

Si vous avez des choses à nous dire sur XAML Islands, ouvrez un nouveau problème dans le dépôt Microsoft.Toolkit.Win32 et laissez-y vos commentaires.If you have feedback about XAML Islands, create a new issue in the Microsoft.Toolkit.Win32 repo and leave your comments there. Si vous préférez que vos commentaires restent privés, envoyez-les à XamlIslandsFeedback@microsoft.com.If you prefer to submit your feedback privately, you can send it to XamlIslandsFeedback@microsoft.com. Vos insights et vos scénarios sont très importants pour nous.Your insights and scenarios are critically important to us.

Conditions requisesRequirements

Les conditions requises du runtime pour XAML Islands sont les suivantes :XAML Islands have these run time requirements:

  • Windows 10, version 1903 ou ultérieure.Windows 10, version 1903, or a later release.
  • Si votre application n’est pas empaquetée dans un package MSIX pour la déployer, Visual C++ Runtime doit être installé sur l’ordinateur.If your application is not packaged in an MSIX package for deployment, the computer must have the Visual C++ Runtime installed.

Applications WPF et Windows FormsWPF and Windows Forms applications

Nous recommandons que les applications WPF et Windows Forms utilisent les contrôles .NET XAML Island disponibles dans le Windows Community Toolkit.We recommend that WPF and Windows Forms applications use the XAML Island .NET controls that are available in the Windows Community Toolkit. Ces contrôles fournissent un modèle objet qui imite les propriétés, méthodes et événements des contrôles XAML WinRT correspondants ou qui vous donne accès à ces éléments.These controls provide an object model that mimics (or provides access to) the properties, methods, and events of the corresponding WinRT XAML controls. Ils gèrent également des comportements tels que la navigation au clavier et les changements de disposition.They also handle behavior such as keyboard navigation and layout changes.

Il existe deux ensembles de contrôles XAML Island pour les applications WPF et Windows Forms : les contrôles wrappés et les contrôles hôtes.There are two sets of XAML Island controls for WPF and Windows Forms applications: wrapped controls and host controls.

Notes

L’utilisation de XAML Islands pour héberger des contrôles XAML WinRT personnalisés est uniquement prise en charge dans les applications WPF et Windows Forms ciblant .NET Core 3.x.Using XAML Islands to host WinRT XAML controls is supported only in WPF and Windows Forms apps that target .NET Core 3.x. XAML Islands n’est pas pris en charge dans les applications qui ciblent le .NET Framework.XAML Islands are not supported in apps that target the .NET Framework.

Contrôles wrappésWrapped controls

Les applications WPF et Windows Forms peuvent utiliser une sélection de contrôles XAML Islands qui wrappent l’interface et les fonctionnalités d’un contrôle XAML WinRT spécifique.WPF and Windows Forms applications can use a selection of XAML Island controls that wrap the interface and functionality of a specific WinRT XAML control. Vous pouvez ajouter ces contrôles directement à l’aire de conception de votre projet WPF ou Windows Forms, puis les utiliser comme tout autre contrôle WPF ou Windows Forms dans le concepteur.You can add these controls directly to the design surface of your WPF or Windows Forms project and then use them like any other WPF or Windows Forms control in the designer.

Les contrôles XAML WinRT wrappés suivants sont actuellement disponibles dans le Windows Community Toolkit.The following wrapped WinRT XAML controls are currently available in the Windows Community Toolkit.

ContrôlerControl Système d’exploitation minimal pris en chargeMinimum supported OS DescriptionDescription
InkCanvasInkCanvas
InkToolbarInkToolbar
Windows 10 version 1903Windows 10, version 1903 Fournissent une surface et les barres d’outils associées pour l’interaction utilisateur basée sur Windows Ink dans votre application de bureau Windows Forms ou WPF.Provide a surface and related toolbars for Windows Ink-based user interaction in your Windows Forms or WPF desktop application.
MediaPlayerElementMediaPlayerElement Windows 10 version 1903Windows 10, version 1903 Incorpore une vue qui diffuse en streaming du contenu multimédia tel que des vidéos dans votre application de bureau Windows Forms ou WPF.Embeds a view that streams and renders media content such as video in your Windows Forms or WPF desktop application.
MapControlMapControl Windows 10 version 1903Windows 10, version 1903 Permet d’afficher une carte symbolique ou photoréaliste dans votre application de bureau Windows Forms ou WPF.Enables you to display a symbolic or photorealistic map in your Windows Forms or WPF desktop application.

Pour découvrir pas à pas comment utiliser les contrôles XAML WinRT wrappés, consultez Héberger un contrôle XAML WinRT standard dans une application WPF.For a walkthrough that demonstrates how to use the wrapped WinRT XAML controls, see Host a standard WinRT XAML control in a WPF app.

Contrôles hôtesHost controls

Pour les contrôles personnalisés et des scénarios autres que ceux couverts par les contrôles wrappés disponibles, les applications WPF et Windows Forms peuvent également utiliser le contrôle WindowsXamlHost proposé dans le Windows Community Toolkit.For custom controls and other scenarios beyond those covered by the available wrapped controls, WPF and Windows Forms applications can also use the WindowsXamlHost control that is available in the Windows Community Toolkit.

ContrôlerControl Système d’exploitation minimal pris en chargeMinimum supported OS DescriptionDescription
WindowsXamlHostWindowsXamlHost Windows 10 version 1903Windows 10, version 1903 Peut héberger n’importe quel contrôle XAML WinRT dérivé de Windows.UI.Xaml.UIElement, notamment tout contrôle XAML WinRT interne fourni par le SDK Windows, ainsi que des contrôles personnalisés.Can host any WinRT XAML control that derives from Windows.UI.Xaml.UIElement, including any first-party WinRT XAML control provided by the Windows SDK as well as custom controls.

Pour découvrir pas à pas comment utiliser le contrôle WindowsXamlHost, consultez Héberger un contrôle XAML WinRT standard dans une application WPF et Héberger un contrôle XAML WinRT personnalisé dans une application WPF avec XAML Islands.For walkthroughs that demonstrate how to use the WindowsXamlHost control, see Host a standard WinRT XAML control in a WPF app and Host a custom WinRT XAML control in a WPF app using XAML Islands.

Configurer votre projet pour utiliser les contrôles .NET XAML IslandConfigure your project to use the XAML Island .NET controls

Les contrôles .NET XAML Island nécessitent Windows 10 version 1903 ou ultérieure.The XAML Island .NET controls require Windows 10, version 1903, or a later version. Pour utiliser ces contrôles, installez l’un des packages NuGet listés ci-dessous.To use these controls, install one of the NuGet packages listed below. Ces packages fournissent tout ce dont vous avez besoin pour utiliser les contrôles hôtes et les contrôles wrappés XAML Island, ainsi que d’autres packages NuGet connexes obligatoires.These packages provide everything you need to use the XAML Island wrapped controls and host controls, and they include other related NuGet packages that are also required.

Type de contrôleType of control Package NuGetNuGet package Articles connexesRelated articles
Contrôles wrappésWrapped controls Version 6.0.0 ou ultérieure de ces packages :Version 6.0.0 or later of these packages: Héberger un contrôle XAML WinRT standard dans une application WPFHost a standard WinRT XAML control in a WPF app
Contrôle hôteHost control Version 6.0.0 ou ultérieure de ces packages :Version 6.0.0 or later of these packages: Héberger un contrôle XAML WinRT standard dans une application WPFHost a standard WinRT XAML control in a WPF app
Héberger un contrôle XAML WinRT personnalisé dans une application WPFHost a custom WinRT XAML control in a WPF app

Tenez compte des points suivants :Be aware of the following details:

  • Les packages de contrôles hôtes sont également inclus dans les packages de contrôles wrappés.The host control packages are also included in the wrapped control packages. Vous pouvez installer les packages de contrôles wrappés si vous souhaitez utiliser les deux ensembles de contrôles.You can install the wrapped control packages if you want to use both sets of controls.

  • Si vous hébergez un contrôle XAML WinRT personnalisé, vous devrez également effectuer quelques étapes supplémentaires pour référencer le contrôle personnalisé.If you're hosting a custom WinRT XAML control, you'll also need to perform some additional steps to reference the custom control. Pour plus d’informations, consultez Héberger un contrôle XAML WinRT personnalisé dans une application WPF avec XAML Islands.For more info, see Host a custom WinRT XAML control in a WPF app using XAML Islands.

Contrôles de vue webWeb view controls

Le Windows Community Toolkit fournit également les contrôles .NET suivants pour héberger du contenu web dans les applications WPF et Windows Forms.The Windows Community Toolkit also provides the following .NET controls for hosting web content in WPF and Windows Forms applications. Ces contrôles sont souvent utilisés dans des scénarios de modernisation d’applications de bureau similaires à ceux des contrôles XAML Island. Ils sont conservés dans le même dépôt Microsoft.Toolkit.Win32 que les contrôles XAML Island.These controls are often used in similar desktop app modernization scenarios as the XAML Island controls, and they are maintained in the same Microsoft.Toolkit.Win32 repo repo as the XAML Island controls.

ContrôlerControl Système d’exploitation minimal pris en chargeMinimum supported OS DescriptionDescription
WebViewWebView Windows 10 version 1803Windows 10, version 1803 Utilise le moteur de rendu Microsoft Edge pour afficher le contenu web.Uses the Microsoft Edge rendering engine to show web content.
WebViewCompatibleWebViewCompatible Windows 7Windows 7 Fournit une version de WebView compatible avec d’autres versions de système d’exploitation.Provides a version of WebView that is compatible with more OS versions. Ce contrôle utilise le moteur de rendu Microsoft Edge pour afficher le contenu web sur Windows 10 versions 1803 et ultérieures, et le moteur de rendu Internet Explorer pour afficher le contenu web sur les versions antérieures de Windows 10, Windows 8.x et Windows 7.This control uses the Microsoft Edge rendering engine to show web content on Windows 10 version 1803 and later, and the Internet Explorer rendering engine to show web content on earlier versions of Windows 10, Windows 8.x, and Windows 7.

Pour utiliser ces contrôles, installez l’un des packages NuGet suivants :To use these controls, install one of these NuGet packages:

Applications Win32 C++C++ Win32 applications

Les contrôles .NET XAML Island ne sont pas pris en charge dans les applications Win32 C++.The XAML Island .NET controls are not supported in C++ Win32 applications. Ces applications doivent utiliser à la place l’API d’hébergement XAML UWP fournie par le SDK Windows 10 (versions 1903 et ultérieures).These applications must instead use the UWP XAML hosting API provided by the Windows 10 SDK (version 1903 and later).

L’API d’hébergement XAML UWP se compose de plusieurs classes Windows Runtime et d’interfaces COM que votre application Win32 C++ peut utiliser pour héberger n’importe quel contrôle XAML WinRT dérivé de Windows.UI.Xaml.UIElement.The UWP XAML hosting API consists of several Windows Runtime classes and COM interfaces that your C++ Win32 application can use to host any WinRT XAML control that derives from Windows.UI.Xaml.UIElement. Vous pouvez héberger des contrôles XAML WinRT dans n’importe quel élément d’interface utilisateur de votre application avec un handle de fenêtre (HWND) associé.You can host WinRT XAML controls in any UI element in your application that has an associated window handle (HWND). Pour plus d’informations sur cette API, consultez les articles suivants.For more information about this API, see the following articles.

Notes

Les contrôles wrappés et hôtes dans le Windows Community Toolkit utilisent l’API d’hébergement XAML UWP en interne et implémentent tous les comportements que vous devriez gérer vous-même si vous utilisiez cette API directement, comme la navigation au clavier et les changements de disposition.The wrapped controls and host controls in the Windows Community Toolkit use the UWP XAML hosting API internally and implement all of the behavior you would otherwise need to handle yourself if you used the UWP XAML hosting API directly, including keyboard navigation and layout changes. Pour les applications WPF et Windows Forms, nous vous recommandons vivement d’utiliser ces contrôles au lieu de l’API d’hébergement XAML UWP directement, car ils éliminent un grand nombre des détails d’implémentation associés à l’utilisation de l’API.For WPF and Windows Forms applications, we strongly recommend that you use these controls instead of the UWP XAML hosting API directly because they abstract away many of the implementation details of using the API.

Architecture des contrôles XAML IslandsArchitecture of XAML Islands

Voici un bref aperçu de l’organisation architecturale des différents types de contrôles XAML Island au-dessus de l’API d’hébergement XAML UWP.Here's a quick look at how the different types of XAML Island controls are organized architecturally on top of the UWP XAML hosting API.

Architecture des contrôles hôtes

Les API présentes en bas de ce diagramme sont fournies avec le SDK Windows.The APIs that appear at the bottom of this diagram ship with the Windows SDK. Les contrôles wrappés et hôtes sont disponibles par le biais de packages NuGet dans le Windows Community Toolkit.The wrapped controls and host controls are available via NuGet packages in the Windows Community Toolkit.

Limitations et solutions de contournementLimitations and workarounds

Les sections suivantes présentent les limitations et solutions de contournement pour certains scénarios de développement UWP dans les applications de bureau qui utilisent XAML Islands.The following sections discuss limitations and workarounds for certain UWP development scenarios in desktop apps that use XAML Islands.

Prise en charge uniquement avec des solutions de contournementSupported only with workarounds

✔️ L’hébergement de contrôles de la bibliothèque WinUI 2.x dans un îlot XAML est pris en charge de manière conditionnelle dans la version actuelle de XAML Islands.Hosting controls from the WinUI 2.x Library in a XAML Island is supported conditionally in the current release of XAML Islands. Si votre application de bureau utilise un package MSIX pour le déploiement, vous pouvez héberger les contrôles WinUI des versions prépubliées et publiées du package NugGet Microsoft.UI.Xaml.If your desktop app uses an MSIX package for deployment, you can host WinUI controls from prerelease or release versions of the Microsoft.UI.Xaml NugGet package. Si votre application de bureau n’est pas empaquetée avec MSIX, vous pouvez héberger les contrôles WinUI uniquement si vous installez une version prépubliée du package NuGet Microsoft.UI.Xaml.If your desktop app is not packaged using MSIX, you can host WinUI controls only if you install a prerelease version of the Microsoft.UI.Xaml NuGet package. La prise en charge de l’hébergement des contrôles de la bibliothèque WinUI 3.0 sera disponible dans une version ultérieure.Support for hosting controls from the WinUI 3.0 Library is coming in a later release.

✔️ Pour accéder à l’élément racine d’une arborescence de contenu XAML dans un îlot XAML et obtenir des informations connexes sur le contexte de son hébergement, n’utilisez pas les classes CoreWindow, ApplicationView, et Window.To access the root element of a tree of XAML content in a XAML Island and get related information about the context in which it is hosted, do not use the CoreWindow, ApplicationView, and Window classes. Utilisez plutôt la classe XamlRoot.Instead, use the XamlRoot class. Pour plus d’informations, consultez cette section.For more information, see this section.

✔️ Pour prendre en charge le contrat de partage d’une application WPF, Windows Forms ou Win32 C++, votre application doit utiliser l’interface IDataTransferManagerInterop pour obtenir l’objet DataTransferManager afin de lancer l’opération de partage pour une fenêtre spécifique.To support the Share contract from a WPF, Windows Forms, or C++ Win32 app, your app must use the IDataTransferManagerInterop interface to get the DataTransferManager object to initiate the share operation for a specific window. Pour obtenir un exemple qui illustre l’utilisation de cette interface dans une application WPF, consultez l’exemple ShareSource.For a sample that demonstrates how to use this interface in a WPF app, see the ShareSource sample.

✔️ L’utilisation de x:Bind avec des contrôles hébergés dans XAML Islands n’est pas prise en charge.Using x:Bind with hosted controls in XAML Islands is not supported. Vous devrez déclarer le modèle de données dans une bibliothèque .NET Standard.You'll have to declare the data model in a .NET Standard library.

Non prise en chargeNot supported

:no_entry_sign : Utilisation de XAML Islands dans les applications WPF et Windows Forms qui ciblent le .NET Framework.:no_entry_sign: Using XAML Islands in WPF and Windows Forms apps that target the .NET Framework. XAML Islands est pris en charge uniquement dans les applications qui ciblent .NET Core 3.x.XAML Islands are supported only in apps that target .NET Core 3.x.

:no_entry_sign : Le contenu XAML UWP dans XAML Islands ne répond pas aux modifications de thème Windows du mode sombre au mode clair, ou vice versa, au moment de l’exécution.:no_entry_sign: UWP XAML content in XAML Islands doesn't respond to Windows theme changes from dark to light or vice versa at run time. Le contenu répond aux modifications de contraste élevé au moment de l’exécution.Content does respond to high contrast changes at run time.

:no_entry_sign : ajout d'un contrôle WebView à un contrôle utilisateur personnalisé (sur thread, hors thread ou hors processus).:no_entry_sign: Adding a WebView control to a custom user control (either on-thread, off-thread, or out of process).

:no_entry_sign : Le contrôle MediaPlayer et le contrôle hôte MediaPlayerElement ne sont pas pris en charge en mode plein écran.:no_entry_sign: The MediaPlayer control and MediaPlayerElement host control are not supported in full screen mode.

:no_entry_sign : Entrée de texte avec la vue de l’écriture manuscrite.:no_entry_sign: Text input with the handwriting view. Pour en savoir plus sur cette fonctionnalité, consultez cet article.For more information about this feature, see this article.

:no_entry_sign : Contrôles de texte qui utilisent des liens de contenu @Places et @People.:no_entry_sign: Text controls that use @Places and @People content links. Pour en savoir plus sur cette fonctionnalité, consultez cet article.For more information about this feature, see this article.

:no_entry_sign : Les îles XAML ne prennent pas en charge l’hébergement d’un ContentDialog contenant un contrôle qui accepte une entrée de texte, comme TextBox, RichEditBox ou AutoSuggestBox.:no_entry_sign: XAML Islands do not support hosting a ContentDialog that contains a control that accepts text input, such as a TextBox, RichEditBox, or AutoSuggestBox. Si vous procédez ainsi, le contrôle d’entrée ne répond pas correctement aux pressions sur les touches.If you do this, the input control will not properly respond to key presses. Pour obtenir des fonctionnalités similaires à l’aide d’une île XAML, nous vous recommandons d’héberger un Popup contenant le contrôle d’entrée.To achieve similar functionality using a XAML Island, we recommend that you host a Popup that contains the input control.

:no_entry_sign : Actuellement, les îles XAML ne prennent pas en charge l’affichage des fichiers SVG dans un contrôle Windows.UI.Xaml.Controls.Image hébergé ou en utilisant un objet Windows.UI.Xaml.Media.Imaging.SvgImageSource.:no_entry_sign: XAML Islands do not currently support displaying SVG files in a hosted Windows.UI.Xaml.Controls.Image control or by using an Windows.UI.Xaml.Media.Imaging.SvgImageSource object. Pour contourner ce problème, convertissez les fichiers image que vous souhaitez afficher au format raster, comme JPG ou PNG.As a workaround, convert the image files you want to display to raster-based formats such as JPG or PNG.

Contexte de l’hôte de fenêtrage pour XAML IslandsWindow host context for XAML Islands

Quand vous hébergez XAML Islands dans une application de bureau, plusieurs arborescences de contenu XAML peuvent s’exécuter simultanément sur le même thread.When you host XAML Islands in a desktop app, you can have multiple trees of XAML content running on the same thread at the same time. Pour accéder à l’élément racine d’une arborescence de contenu XAML dans un XAML Islands et obtenir des informations connexes sur le contexte de son hébergement, utilisez la classe XamlRoot.To access the root element of a tree of XAML content in a XAML Island and get related information about the context in which it is hosted, use the XamlRoot class. Les classes CoreWindow, ApplicationView et Window ne fournissent pas les informations correctes pour XAML Islands.The CoreWindow, ApplicationView, and Window classes won't provide the correct information for XAML Islands. Les objets CoreWindow et Window existent sur le thread et sont accessibles à votre application, mais ils ne retournent pas de limites ou de visibilité significatives (ils restent toujours invisibles et ont une taille de 1x1).CoreWindow and Window objects do exist on the thread and are accessible to your app, but they won't return meaningful bounds or visibility (they are always invisible and have a size of 1x1). Pour plus d’informations, consultez Hôtes de fenêtrage.For more information, see Windowing hosts.

Par exemple, pour obtenir le rectangle englobant de la fenêtre qui contient un contrôle XAML WinRT hébergé dans XAML Islands, utilisez la propriété XamlRoot.Size du contrôle.For example, to get the bounding rectangle of the window that contains a WinRT XAML control that is hosted in a XAML Island, use the XamlRoot.Size property of the control. Étant donné que chaque contrôle XAML WinRT qui peut être hébergé dans XAML Islands est dérivé de Windows.UI.Xaml.UIElement, vous pouvez utiliser la propriété XamlRoot du contrôle pour accéder à l’objet XamlRoot.Because every WinRT XAML control that can be hosted in a XAML Island derives from Windows.UI.Xaml.UIElement, you can use the XamlRoot property of the control to access the XamlRoot object.

Size windowSize = myUWPControl.XamlRoot.Size;

N’utilisez pas la propriété CoreWindows.Bounds pour obtenir le rectangle englobant.Do not use the CoreWindows.Bounds property to get the bounding rectangle.

// This will return incorrect information for a WinRT XAML control that is hosted in a XAML Island.
Rect windowSize = CoreWindow.GetForCurrentThread().Bounds;

Pour avoir la liste des API de fenêtrage courantes à proscrire dans le contexte de XAML Islands et connaître le code de remplacement XamlRoot recommandé, consultez le tableau dans cette section.For a table of common windowing-related APIs that you should avoid in the context of XAML Islands and the recommended XamlRoot replacements, see the table in this section.

Pour obtenir un exemple qui illustre l’utilisation de cette interface dans une application WPF, consultez l’exemple ShareSource.For a sample that demonstrates how to use this interface in a WPF app, see the ShareSource sample.

Ressources supplémentairesAdditional resources

Pour obtenir plus d’informations générales et des tutoriels sur l’utilisation de XAML Islands, consultez les articles et ressources suivants :For more background information and tutorials about using XAML Islands, see the following articles and resources:

  • Moderniser une application WPF : Ce tutoriel fournit des instructions pas à pas pour utiliser des contrôles wrappés et des contrôles hôtes dans le Windows Community Toolkit afin d’ajouter des contrôles XAML WinRT à une application métier WPF existante.Modernize a WPF app tutorial: This tutorial provides step-by-step instructions for using the wrapped controls and host controls in the Windows Community Toolkit to add WinRT XAML controls to an existing WPF line-of-business application. Ce tutoriel comprend le code complet de l’application WPF ainsi que des instructions détaillées pour chaque étape du processus.This tutorial includes the complete code for the WPF application as well as detailed instructions for each step in the process.
  • Exemples de code XAML Islands : Ce dépôt contient des exemples Windows Forms, WPF et C++/Win32 qui montrent comment utiliser XAML Islands.XAML Islands code samples: This repo contains Windows Forms, WPF, and C++/Win32 samples that demonstrate how to use XAML Islands.
  • XAML Islands v1 - Updates and Roadmap : ce billet de blog répond à de nombreuses questions courantes sur XAML Islands et propose une feuille de route détaillée pour le développement.XAML Islands v1 - Updates and Roadmap: This blog post discusses many common questions about XAML Islands and provides a detailed development roadmap.