Traduction

Ce tutoriel est la traduction la plus fidèle possible du tutoriel original de Peter Bull, Microsoft Silverlight 4 - Text Editing application with New, Open and Save using Silverlight.

Introduction

L'une des tâches qu'on effectue le plus couramment est l'édition de texte. Ce tutoriel vous montrera comment créer votre propre éditeur de texte avec Silverlight en utilisant les composants TextBox, OpenFileDialog et SaveFileDialog. Dans la deuxième partie du tutoriel vous ajouterez les fonctions Couper, Copier et Coller à l'éditeur de texte.

Éditeur de texte avec fonctions « Nouveau », « Ouvrir » et « Enregistrer » en utilisant Silverlight

Étape 1

Démarrez Microsoft Visual Web Developer 2010 Express, puis sélectionnez Fichier puis Nouveau Projet... Sélectionnez Visual Basic puis Application Silverlight dans les modèles installés, sélectionnez un emplacement si vous le souhaitez, enfin entrez un nom pour le projet et appuyez sur OK :

Image non disponible

Étape 2

Une nouvelle fenêtre Nouvelle application Silverlight devrait apparaître, décochez la case Héberger l'application Silverlight sur un nouveau site Web, puis sélectionnez la Version de Silverlight ciblée :

Image non disponible

Étape 3

Une page vierge nommée MainPage.xaml devrait alors apparaître :

Image non disponible

Étape 4

Puis dans la section Contrôles Silverlight communs de la Boîte à outils, sélectionnez le contrôle Canvas :

Image non disponible

Étape 5

Dessinez un Canvas sur la Page, ensuite dans le volet XAML au-dessus du </Grid> modifiez la ligne Canvas1 comme ceci :

 
Sélectionnez
<Canvas Height="35" Width="400" VerticalAlignment="Top" HorizontalAlignment="Left" Name="Toolbar"></Canvas>

Voir ci-dessous :

Image non disponible

Étape 6

Puis dans la section Contrôles Silverlight communs de la Boîte à outils, sélectionnez le contrôle Button :

Image non disponible

Étape 7

Dessinez trois boutons sur la page en glissant les contrôles Button de la Boîte à outils sur la page, ou dans le volet XAML entre les balises <Canvas> et </Canvas> tapez le code suivant :

 
Sélectionnez
<Button Canvas.Left="6" Canvas.Top="6" Height="23" Width="75" Name="Button1" Content="Button"/> 
<Button Canvas.Left="87" Canvas.Top="6" Height="23" Width="75" Name="Button2" Content="Button"/> 
<Button Canvas.Left="168" Canvas.Top="6" Height="23" Width="75" Name="Button3" Content="Button"/>

Voir ci-dessous :

Image non disponible

Étape 8

Cliquez sur le premier Button (Button1), ensuite allez dans la boîte Propriétés et modifiez le Name à New et la propriété Content de Button à New :

Image non disponible

Étape 9

Cliquez sur le deuxième Button (Button 2), puis allez dans la boîte Propriétés et modifiez le Name à Open et la propriété Content de Button à Open... Ensuite cliquez sur le troisième Button (Button 3) et allez dans la boîte Propriétés et modifiez le Name à Save et la propriété Content de Button à Save..., la page devrait apparaître comme ci-dessous :

Image non disponible

Étape 10

Puis dans la section Contrôles Silverlight communs de la Boîte à outils, sélectionnez le contrôle TextBox :

Image non disponible

Étape 11

Dessinez un TextBox sur la page, en dessous du Canvas avec les boutons, et dans le volet XAML modifiez le TextBox1 qui se trouve au-dessus du </Grid> et en dessous du </Canvas> comme ceci :

 
Sélectionnez
<TextBox Height="265" Width="400" Margin="0,35,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" 
AcceptsReturn="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" Name="Editor"/>

Voir ci-dessous :

Image non disponible

Étape 12

Double-cliquez sur le contrôle Button New et tapez le code suivant dans le Sub New_Click :

 
Sélectionnez
If MessageBox.Show("Start a New Document?", "Text Editor", _
  MessageBoxButton.OKCancel) = MessageBoxResult.OK Then
  Editor.Text = ""
End If
Image non disponible

Étape 13

Retournez au concepteur de vues, en sélectionnant l'onglet MainPage.xaml, ou faites un clic droit sur la page ou sur l'entrée pour MainPage.xaml dans l'Explorateur de solutions et choisissez l'option Concepteur de vues.

Double-cliquez sur le bouton Open... et tapez ceci dans le Sub Open_Click :

 
Sélectionnez
Dim OpenDialog As New OpenFileDialog
OpenDialog.Filter = "Plain Text Files (*.txt)|*.txt"
If OpenDialog.ShowDialog Then
  Try
    If OpenDialog.File.Exists Then
      Editor.Text = OpenDialog.File.OpenText.ReadToEnd
    End If
  Catch ex As Exception
    ' Ignore Errors
  End Try
End If
Image non disponible

Étape 14

Retournez encore une fois au concepteur de vues, en sélectionnant l'onglet MainPage.xaml, ou faites un clic droit sur la page ou sur l'entrée pour MainPage.xaml dans l'Explorateur de solutions et choisissez l'option Concepteur de vues.

Double-cliquez sur le bouton Save... et tapez ceci dans le Sub Save_Click :

 
Sélectionnez
Dim SaveDialog As New SaveFileDialog
SaveDialog.Filter = "Plain Text Files (*.txt)|*.txt"
If SaveDialog.ShowDialog Then
  Try
    Using FileStream As IO.StreamWriter = _
      New IO.StreamWriter(SaveDialog.OpenFile)
      FileStream.Write(Editor.Text)
    End Using
  Catch ex As Exception
    ' Ignore Errors
  End Try
End If
Image non disponible

Étape 15

Enregistrez le projet, maintenant que vous avez terminé l'application Silverlight. Sélectionnez Debug puis Démarrer le débogage ou cliquez sur Démarrer le débogage :

Image non disponible

Une fois que vous l'aurez fait, ce qui suit apparaîtra dans une nouvelle fenêtre du navigateur Web :

Image non disponible

Étape 16

Maintenant cliquez sur Open..., un FileOpenDialog - Open File apparaîtra - ensuite sélectionnez un fichier texte simple ou un fichier .txt sur votre ordinateur. Sélectionnez Open et le contenu apparaîtra dans la zone de texte (TextBox) :

Image non disponible

Étape 17

Fermez le navigateur en cliquant sur le bouton Fermer Image non disponible en haut à droite du navigateur Web pour Arrêter l'application.

Conclusion

Ceci est une application simple d'édition de texte avec la possibilité d'ouvrir et d'enregistrer des fichiers textes en utilisant une application Silverlight. La deuxième partie nous permettra d'ajouter quelques fonctionnalités presse-papier disponible en Silverlight 4 pour couper, copier et coller !

Liens

Remerciements

Je tiens ici à remercier Peter Bull pour m'avoir autorisé à traduire son tutoriel.
Je remercie tomlev pour sa relecture technique et ses propositions.
Je remercie également _Max_ pour sa relecture orthographique et ses propositions.