Partager via


Procédure pas - à - pas : Ajout d'une référence de DLL à la page de démarrage

Cette procédure pas à pas explique comment ajouter une référence de DLL à une Page de démarrage personnalisée. L'exemple ajoute un contrôle utilisateur à la solution, génère le contrôle utilisateur, puis référence l'assembly créé à partir du fichier .xaml de la Page de démarrage. Un nouvel onglet héberge le contrôle utilisateur, qui fonctionne comme un navigateur Web de base.

Vous pouvez utiliser le même processus pour ajouter n'importe quel assembly pouvant être appelé à partir d'un fichier .xaml.

Ajout d'un contrôle utilisateur WPF à la solution

Tout d'abord, ajoutez un contrôle utilisateur WPF (Windows Presentation Foundation) à la solution de Page de démarrage.

Pour ajouter un contrôle utilisateur WPF à la solution de Page de démarrage

  1. Créez une page de démarrage à l'aide de le modèle de projet de page de démarrage. Pour plus d'informations, consultez pages initiales.

  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur la solution, cliquez sur Ajouter, puis sur Nouveau projet.

  3. Dans le volet gauche de la boîte de dialogue Nouveau projet, développez le nœud Visual Basic ou Visual C#, puis cliquez sur Fenêtres. Dans le volet central, sélectionnez Bibliothèque de contrôles utilisateur WPF.

  4. Nommez le contrôle WebUserControl, plus cliquez sur OK.

Implémentation du contrôle utilisateur

Pour implémenter un contrôle utilisateur WPF, générez l'interface utilisateur en XAML, puis écrivez les événements code-behind en C# ou dans un autre langage .NET.

Pour écrire le XAML du contrôle utilisateur

  1. Dans l'Explorateur de solutions, ouvrez le fichier XAML du contrôle utilisateur.

  2. Dans l'élément Grid , ajoutez les définitions de ligne suivantes au contrôle utilisateur.

    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    
  3. Dans l'élément Grid principal, ajoutez le nouvel élément Grid suivant, qui contient une zone de texte pour taper des adresses Web et un bouton pour définir la nouvelle adresse.

    <Grid Grid.Row="0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>
        <TextBox x:Name="UserSource" Grid.Column="0" />
        <Button Grid.Column="1" x:Name="SetButton" Content="Set Address" Click="SetButton_Click" />
    </Grid>
    
  4. Ajoutez le frame suivant à l'élément Grid de niveau supérieur, juste après l'élément Grid qui contient le bouton et la zone de texte.

    <Frame Grid.Row="1" x:Name="WebFrame" Source="https://www.bing.com" Navigated="WebFrame_Navigated" />
    
  5. L'exemple suivant montre le fichier XAML terminé pour le contrôle utilisateur.

    <UserControl x:Class="WebUserControl.UserControl1"
                 xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:mc="https://schemas.openxmlformats.org/markup-compatibility/2006" 
                 xmlns:d="https://schemas.microsoft.com/expression/blend/2008" 
                 mc:Ignorable="d" 
                 d:DesignHeight="300" d:DesignWidth="300">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <Grid Grid.Row="0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="Auto" />
                </Grid.ColumnDefinitions>
                <TextBox x:Name="UserSource" Grid.Column="0" />
                <Button Grid.Column="1" x:Name="SetButton" Content="Set Address" Click="SetButton_Click" />
            </Grid>
            <Frame Grid.Row="1" x:Name="WebFrame" Source="https://www.bing.com" Navigated="WebFrame_Navigated" />
        </Grid>
    </UserControl>
    

Pour écrire les événements code-behind pour le contrôle utilisateur

  1. Dans le concepteur XAML, double-cliquez sur le bouton Définir une adresse que vous avez ajouté au contrôle.

    Le fichier UserControl1.cs s'ouvre dans l'éditeur de code.

  2. Remplissez le gestionnaire d'événements SetButton_Click comme suit.

    private void SetButton_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            this.WebFrame.Source = new Uri(this.UserSource.Text, UriKind.Absolute);
        }
        catch (Exception error)
        {
            MessageBox.Show(error.Message);
        }
    }
    

    Ce code définit l'adresse Web tapée dans la zone de texte en tant que cible pour le navigateur Web. Si l'adresse n'est pas valide, le code génère une erreur.

  3. Générez la solution.

Ajout du contrôle utilisateur à la Page de démarrage

Pour mettre ce contrôle à disposition du projet de Page de démarrage, dans le fichier projet de Page de démarrage, ajoutez une référence à la nouvelle bibliothèque de contrôles. Vous pouvez ensuite ajouter le contrôle au balisage XAML de la Page de démarrage.

Pour ajouter le contrôle utilisateur au projet

  1. Dans l'Explorateur de solutions, dans le projet de Page de démarrage, cliquez avec le bouton droit de la souris sur le nœud Références, puis cliquez sur Ajouter une référence.

  2. Sous l'onglet Projets, sélectionnez WebUserControl, puis cliquez sur OK.

  3. Dans le menu Générer, cliquez sur Générer la solution.

    Lorsque la solution est générée, le contrôle utilisateur est mis à la disposition d'IntelliSense pour d'autres fichiers dans la solution.

Pour ajouter le contrôle au balisage XAML de la Page de démarrage, ajoutez une référence d'espace de noms à l'assembly, puis placez le contrôle sur la page.

Pour ajouter le contrôle au balisage

  1. Dans l'Explorateur de solutions, ouvrez le fichier .xaml de Page de démarrage.

  2. Dans le volet XAML, ajoutez la déclaration d'espace de noms suivante à l'élément Grid de niveau supérieur.

    xmlns:vsc="clr-namespace:WebUserControl;assembly=WebUserControl"
    
  3. Dans le volet XAML, faites défiler jusqu'à la section comportant le commentaire <!—Center Content-->.

    La section contient un élément TabControl dans un élément Grid.

  4. Ajoutez l'élément TabItem suivant, qui contient une référence à votre contrôle utilisateur, en haut de l'élément TabControl.

    <TabItem Header="Web" Height="Auto">
        <vsc:UserControl1 />
    </TabItem>
    

Vous pouvez à présent tester le contrôle.

pour tester la page de démarrage personnalisée

  1. Appuyez sur F5.

    L'instance expérimentale de Visual Studio s'ouvre, en affichant la page de démarrage personnalisée installée mais non sélectionnée.

  2. Dans l'instance expérimentale de Visual Studio, dans le menu d' Outils , cliquez sur Options.

  3. dans la boîte de dialogue d' Options , sous Environnement, sélectionnez Démarrage. Puis, dans la liste de Personnaliser la page de démarrage , sélectionnez votre fichier .xaml, puis cliquez sur OK.

  4. Si la page de démarrage n'est pas visible, dans le menu d' Afficher , cliquez sur Page de démarrage.

  5. Cliquez sur l'onglet Web.

  6. Tapez une URL dans la zone de recherche puis cliquez sur le bouton de Définir une adresse .

    les charges de page Web.

Étapes suivantes

Vous pouvez partager des pages de démarrage personnalisées avec d'autres utilisateurs en téléchargeant le fichier .vsix du dossier /Bin/Debug/ du projet Visual Studio Gallery sur le site Web, ou à un autre partage de site Web ou un intranet.

Voir aussi

Tâches

Procédure pas - à - pas : Ajout d'un fichier XAML personnalisé à la page de démarrage

Référence

System.Windows.Controls

Autres ressources

Personnalisation de la page de démarrage pour Visual Studio

WPF Container Controls