Utiliser des données d’échantillon au moment du design avec le concepteur XAML dans Visual Studio
Certains contrôles dépendants des données, tels que ListView
, ListBox
et DataGrid
, sont difficiles à visualiser sans données. Dans cet article, nous allons passer en revue une nouvelle approche qui permet aux développeurs qui travaillent sur des projets .NET Core Windows Presentation Foundation (WPF) ou des projets WPF .NET Framework avec le concepteur XAML dans Visual Studio d’activer des exemples de données dans ces contrôles.
Configuration requise
La fonctionnalité Exemple de données nécessite Visual Studio 2019 version 16.10 ou ultérieure.
La fonctionnalité prend en charge les projets de bureau Windows qui ciblent WPF pour .NET Core ou .NET Framework lorsque vous utilisez le nouveau concepteur. Pour activer le nouveau concepteur pour .NET Framework :
- Accédez à Outils>Options>Environnement>Fonctionnalité d'évaluation.
- Sélectionnez Nouveau concepteur XAML WPF pour .NET Framework, puis redémarrez Visual Studio.
Notions de base de la fonctionnalité Données d’échantillon
La fonctionnalité Données d’échantillon est uniquement destinée à la visualisation au moment du design. Elle apparaît uniquement dans le concepteur XAML, pas dans l’application en cours d’exécution. À ce titre, elle est appliquée à la version au moment de la conception de la ItemsSource
propriété d:ItemsSource
.
Les données d’échantillon ont besoin de l’espace de noms au moment du design pour fonctionner.
Notes
Pour en savoir plus sur les propriétés au moment du design dans XAML, consultez Propriétés au moment du design XAML.
Pour commencer, ajoutez les lignes de code suivantes à l’en-tête de votre document XAML s’ils ne sont pas déjà présents :
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Après avoir ajouté les espaces de noms, vous pouvez utiliser d:ItemsSource="{d:SampleData}"
pour activer des exemples de données dans votre contrôle ListView
, Listbox
ou DataGrid
. Par exemple :
<DataGrid d:ItemsSource="{d:SampleData}"/>
Dans cet exemple, sans d:ItemsSource="{d:SampleData}"
, le concepteur XAML afficherait une grille de données vide. Au lieu de cela, avec d:SampleData
, il affiche désormais les données d’échantillon générées par défaut.
Par défaut, cinq éléments sont affichés. Toutefois, vous pouvez utiliser la propriété ItemCount
pour spécifier le nombre d’éléments que vous souhaitez afficher. Par exemple : d:ItemsSource="{d:SampleData ItemCount=2}"
.
Données d’échantillon avec des modèles de données
La fonctionnalité Données d’échantillon fonctionne pour les contrôles ListBox
, ListView
ou DataGrid
lorsque vous utilisez des modèles de données. La fonctionnalité analyse le contrôle DataTemplate
et tente de générer les données appropriées pour celui-ci.
Les données d’échantillon sont générées uniquement pour les éléments dans les modèles de données qui utilisent des liaisons. Des données d’échantillon sont générées même si les liaisons n’ont pas encore de source. Par exemple :
<ListView d:ItemsSource="{d:SampleData ItemCount=3}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Width="50" Source="{Binding ProfilePicture}"/>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding FirstName}" Margin="5"/>
<Label Content="{Binding LastName}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Données d’échantillon avec des actions suggérées
Pour activer ou désactiver facilement des données d’échantillon pour un contrôle à partir du concepteur, vous pouvez utiliser la fonctionnalité Actions suggérées. Actions suggérées est une ampoule sur le concepteur qui apparaît en haut à droite lorsque vous sélectionnez un contrôle. Vous pouvez activer les données d’échantillon en sélectionnant votre contrôle, en sélectionnant l’ampoule, puis en sélectionnant Afficher les données d’échantillon. Par exemple :
Données d’échantillon avec l’interface IValueConverter
La fonctionnalité Données d’échantillon ne prend pas entièrement en charge les convertisseurs ou l’interface IValueConverter
. Toutefois, vous pouvez la faire fonctionner en effectuant l’une des opérations suivantes ou les deux :
- Assurez-vous que votre fonction
Convert
peut gérer un scénario où la valeur est déjà votre type cible. - Implémentez la fonction
ConvertBack
qui reconvertira votre valeur en type d’origine.
Dépannage
Si vos données d’échantillon n’affichent rien ou ne parviennent pas à afficher le type correct, vous pouvez essayer d’actualiser le concepteur ou de fermer et de rouvrir la page.
Si vous rencontrez un problème qui n’est pas répertorié dans cette section ou qui ne peut pas être résolu en actualisant la page, faites-le nous savoir à l’aide de l’outil Signaler un problème.