Essayez ! Créer un lecteur de News RSS
Les flux Web, tels que les échanges de News (discussion) ou les podcasts, utilisent souvent des fichiers mis en forme en XML pour leur contenu. Vous pouvez recourir à des programmes appelés lecteurs ou agrégateurs pour vous abonner aux flux Web et les lire. Il arrive souvent qu’un lecteur reste ouvert sur votre ordinateur et qu’il se mette à jour tout seul avec le nouveau contenu pendant l’actualisation du flux Web. Le mécanisme de livraison de flux Web le plus connu s’appelle le RSS (Really Simple Syndication).
Les procédures suivantes montrent comment créer un lecteur RSS simple à l’aide de Microsoft Expression Blend et d’un flux RSS. Le lecteur RSS vous permet de lire n’importe quelle source de données XML, notamment un fichier local ou un fichier XML de votre site Web.
Remarque : |
---|
Dans les procédures suivantes, il est supposé que vous disposez d’une connexion active à Internet. |
Remarque : |
---|
Microsoft Silverlight ne prend pas en charge les sources de données XML. Vous pouvez toutefois trouver des informations sur l’utilisation des données XML dans la page relative à l’analyse de données XML dans Silverlight sur MSDN. |
Pour créer la source de données
Dans le panneau Données, cliquez sur Créer une source de données , puis cliquez sur Définir une nouvelle source de données XML.
La boîte de dialogue Définir une nouvelle source de données XML s’affiche.
En regard de Nom de la source de données, tapez rssDS .
En regard de la zone de texte URL ou chemin d'accès du fichier XML, tapez http://rss.msnbc.msn.com/id/3032127/device/rss/rss.xml .
Conseil : Vous pouvez utiliser une URL ou un chemin d’accès local d’un fichier XML dans le champ URL des données XML. Si vous souhaitez utiliser un autre flux RSS, vous pouvez localiser l’URL en ouvrant un site Web d’un fournisseur Web (par exemple, http://www.msnbc.com (en anglais)) et en recherchant un lien vers ses flux RSS. En règle générale, le site Web contient la liste des flux disponibles ainsi que les boutons qui vous permettent de vous abonner au flux. Recherchez un lien vers le fichier XML correspondant au flux souhaité.
Sous Définir dans, effectuez l’une des opérations suivantes :
Pour mettre les données à la disposition de tous les documents de votre application, sélectionnez Projet.
Pour que les données soient disponibles seulement dans le document actuel, sélectionnez Ce document.
Cliquez sur OK.
Une source de données nommée rssDS est ajoutée dans le panneau Données. Développez les nœuds et examinez les différents champs de la source de données. Les données ne sont pas affichées ; mais le sont les noms des champs contenant les données et leur structure.
Vous pouvez à présent lier les contrôles de votre application aux données.
Panneau Données après l'ajout de la source de données XML
Pour lier des champs de données par glissement des champs à partir du panneau Projets
Il existe de nombreux moyens de lier des contrôles à des éléments d’une source de données. La procédure suivante indique comment faire glisser des champs de sources de données du panneau Données vers la planche graphique pour créer deux contrôles. Vous pouvez également faire glisser des champs de sources de données dans des contrôles existants pour lier les données aux propriétés de ces contrôles.
Dans le panneau Outils, cliquez sur Composants.
Dans le panneau Composants, sélectionnez Tous dans la catégorie Contrôles.
Cliquez sur Contrôles, puis cliquez sur le contrôle Image .
À l’aide de la souris, dessinez un contrôle Image sur la planche graphique, d’environ 100 pixels en largeur sur 100 pixels en hauteur, dans le coin supérieur gauche.
Dans le panneau Données, développez les nœuds rss, channel, et image. Faites glisser le nœud url : (String) sur le nouvel objet image.
L'objet image affiche l'image du site Web MSNBC. Le panneau Données affiche un rectangle englobant de couleur jaune autour de la source de données pour indiquer que cette partie de données a été liée à un contrôle.
Planche graphique après l’ajout et la liaison d’un objet Image à l’élément de données URL (la planche graphique peut changer d’apparence)
Dans le panneau Données, développez les nœuds rssDS, rss, et channel. Faites glisser le nœud title : (String) sur la planche graphique vers la droite de l’objet Image.
Un contrôle TextBlock est créé pour afficher le titre de l’échange de News. Utilisez l’outil Sélection pour déplacer l’objet bloc de texte et le mettre à l’échelle, puis utilisez les propriétés des catégories Texte et Pinceaux du panneau Propriétés pour modifier l’apparence du texte.
Planche graphique après l’ajout et la liaison d’un objet bloc de texte à l’élément de données titre (la planche graphique peut changer d’apparence)
Pour utiliser un contexte de données pour lier plusieurs contrôles à des données identiques
L’affectation d’un contexte de données à un objet parent permet à tous les objets enfants d’utiliser le même instantané de données. Cette méthode est utile pour créer un modèle liste/détails dans lequel, si vous cliquez sur un élément dans une liste (le volet Liste), les détails concernant cet élément apparaissent dans un autre objet (le volet Détails).
Créez un conteneur de disposition Grid qui couvre la zone située en dessous de l’image et du titre. L’objet Grid obtenu sera votre objet parent là où le contexte de données sera automatiquement défini par l’étape suivante.
Sélectionnez le nouvel objet Grid dans le panneau Objets et chronologie pour l’activer afin de pouvoir ajouter des objets enfants.
Dans le panneau Données, assurez-vous que le mode Liste est sélectionné. Les éléments déplacés à partir du panneau Données en mode Liste permettent de créer un contrôle de liste.
Développez les nœuds rss, channel, et item (Array). Faites glisser le nœud title : (String) dans le coin supérieur droit de l’objet Grid.
Un contrôle ListBox est créé et renseigné avec les titres de tous les articles d’actualité dans la collection item (Array). Si vous sélectionnez l’objet grid et regardez dans le panneau Propriétés, vous verrez un rectangle englobant jaune autour de la propriété DataContext pour indiquer qu’elle est liée aux données. Si vous sélectionnez l’objet Zone de liste, vous verrez la propriété ItemsSource liée aux données.
Remarque : Vous pouvez affecter à la propriété ItemsSource n’importe quelle collection d’éléments. Seule l’une des propriétés ItemsSource ou Items peut être utilisée à la fois. La propriété ItemsSource permet généralement de lier à une collection d’éléments générés. Vous pouvez utiliser la propriété Items pour ajouter manuellement des éléments individuels à l’aide du bouton Modifier les éléments de cette collection.
Planche graphique après l’ajout et la liaison d’un objet ListBox à la collection de données d’éléments (la planche graphique peut changer d’apparence)
Dans le panneau Données, cliquez sur Mode Détails .
Développez les nœuds rss, channel, et item (Array). Faites glisser le nœud description : (String) dans la partie droite de l’objet grid .
Un objet Grid est créé avec un objet TextBlock à l’intérieur qui affiche la description de l’article d’actualité sélectionné. Si vous sélectionnez l’objet TextBlock et regardez dans le panneau Propriétés, vous verrez un rectangle englobant jaune autour de la propriété Text pour indiquer qu’elle est liée aux données. Pour voir les détails de la liaison de données, cliquez sur Options avancées en regard de la propriété Text , puis cliquez sur Liaison de données.
Planche graphique après l’ajout et la liaison d’un objet TextBlock à l’élément de données Description (la planche graphique peut changer d’apparence)
Appuyez sur F5 pour exécuter l’application, puis cliquez sur un élément quelconque de la zone de liste pour modifier la sélection afin de lire des descriptions de News différentes.
Remarque : Il est possible que certains éléments contiennent du texte HTML. Vous pouvez créer un convertisseur de valeurs qui supprimerait les éléments HTML de la chaîne Description et que vous appliqueriez ensuite dans la boîte de dialogue Créer une liaison de données. Pour plus d’informations sur la création d’un convertisseur de valeurs, voir Essayez ! Convertir des données d'un type vers un autre.
Copyright © 2011 Microsoft Corporation. Tous droits réservés.