Freigeben über


Exemplarische Vorgehensweise: Hinzufügen eines DLL-Verweis zur Startseite

In dieser exemplarischen Vorgehensweise wird erläutert, wie einer benutzerdefinierten Startseite ein DLL-Verweis hinzugefügt wird. Im Beispiel wird der Lösung ein Benutzersteuerelement hinzugefügt, das Benutzersteuerelement erstellt und dann von der Startseiten-XAML-Datei auf die erstellte Assembly verwiesen. Eine neue Registerkarte hostet das Benutzersteuerelement, das als grundlegender Webbrowser funktioniert.

Sie können mithilfe des gleichen Prozesses eine beliebige Assembly hinzufügen, die von einer XAML-Datei aufgerufen werden kann.

Hinzufügen eines WPF-Benutzersteuerelements zur Lösung

Fügen Sie der Lösung "Startseite" zuerst ein Windows Presentation Foundation (WPF)-Benutzersteuerelement hinzu.

So fügen Sie der Lösung "Startseite" ein WPF-Benutzersteuerelement hinzu

  1. Erstellen Sie eine Startseite festlegen, indem Sie die Projektvorlage Startseiten werden. Weitere Informationen finden Sie unter Startseiten.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Lösung, klicken Sie auf Hinzufügen, und klicken Sie dann auf Neues Projekt.

  3. Erweitern Sie im linken Bereich des Dialogfelds Neues Projekt entweder den Knoten Visual Basic oder Visual C#, und klicken Sie auf Windows. Wählen Sie im mittleren Bereich WPF-Benutzersteuerelementbibliothek aus.

  4. Weisen Sie dem Steuerelement den Namen WebUserControl zu, und klicken Sie anschließend auf OK.

Implementieren des Benutzersteuerelements

Erstellen Sie zum Implementieren eines WPF-Benutzersteuerelements die Benutzeroberfläche in XAML, und schreiben Sie dann die CodeBehind-Ereignisse in C# oder einer anderen .NET-Sprache.

So schreiben Sie das XAML für das Benutzersteuerelement

  1. Öffnen Sie im Projektmappen-Explorer für das Benutzersteuerelement die XAML-Datei.

  2. Fügen Sie im Grid -Element dem Benutzersteuerelement die folgenden Zeilendefinitionen hinzu.

    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    
  3. Fügen Sie im Grid-Element das folgende neue Grid-Element hinzu, das ein Textfeld zum Eingeben von Webadressen und eine Schaltfläche zum Festlegen der neuen Adresse enthält.

    <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. Fügen Sie dem Grid-Element der obersten Ebene den folgenden Frame unmittelbar nach dem Grid-Element hinzu, das die Schaltfläche und das Textfeld enthält.

    <Frame Grid.Row="1" x:Name="WebFrame" Source="https://www.bing.com" Navigated="WebFrame_Navigated" />
    
  5. Im folgenden Beispiel wird das vollständige XAML-Element für das Benutzersteuerelement dargestellt.

    <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>
    

So schreiben Sie die CodeBehind-Ereignisse für das Benutzersteuerelement

  1. Doppelklicken Sie im XAML-Designer auf die Schaltfläche Adresse festlegen, die Sie dem Steuerelement hinzugefügt haben.

    Die Datei "UserControl1.cs" wird im Code-Editor geöffnet.

  2. Füllen Sie den SetButton_Click-Ereignishandler folgendermaßen aus.

    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);
        }
    }
    

    Durch diesen Code wird die Webadresse festgelegt, die im Textfeld als Ziel für den Webbrowser eingegeben wird. Wenn die Adresse nicht gültig ist, wird im Code ein Fehler ausgelöst.

  3. Erstellen Sie die Projektmappe.

Hinzufügen des Benutzersteuerelements zur Startseite

Um dieses Steuerelement für das Startseitenprojekt verfügbar zu machen, muss in der Projektdatei der Startseite ein Verweis auf die neue Steuerelementbibliothek hinzugefügt werden. Anschließend können Sie dem Startseiten-XAML-Markup das Steuerelement hinzufügen.

So fügen Sie dem Projekt das Benutzersteuerelement hinzu

  1. Klicken Sie im Projektmappen-Explorer im Startseitenprojekt mit der rechten Maustaste auf Verweise, und klicken Sie anschließend auf Verweis hinzufügen.

  2. Wählen Sie auf der Registerkarte Projekte das Projekt WebUserControl aus, und klicken Sie dann auf OK.

  3. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

    Durch Erstellen der Lösung wird das Benutzersteuerelement für IntelliSense für andere Dateien in der Lösung verfügbar gemacht.

Um das Steuerelement dem Startseiten-XAML-Markup hinzuzufügen, fügen Sie einen Namespaceverweis auf die Assembly hinzu, und legen Sie dann das Steuerelement auf der Seite ab.

So fügen Sie dem Markup das Steuerelement hinzu

  1. Öffnen Sie im Projektmappen-Explorer die XAML-Datei für die Startseite.

  2. Fügen Sie im Bereich XAML die folgende Namespacedeklaration dem Grid-Element auf oberster Ebene hinzu.

    xmlns:vsc="clr-namespace:WebUserControl;assembly=WebUserControl"
    
  3. Führen Sie im Bereich XAML einen Bildlauf zu dem Abschnitt durch, der den Kommentar <!—Center Content--> enthält.

    Der Abschnitt enthält ein TabControl-Element in einem Grid-Element.

  4. Fügen Sie das folgende TabItem-Element, das einen Verweis auf das Benutzersteuerelement enthält, am Anfang des TabControl-Elements hinzu.

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

Jetzt können Sie das Steuerelement testen.

So testen Sie die benutzerdefinierte Startseite

  1. Drücken Sie F5.

    Die experimentelle Instanz von Visual Studio wird geöffnet, wenn die benutzerdefinierte Startseite installiert, aber nicht aktiviert ist.

  2. Klicken Sie in der experimentellen Instanz von Visual Studio im Menü Extras auf Optionen.

  3. Klicken Sie im Dialogfeld Optionen unter Umgebung, wählen Sie Start. Klicken Sie dann auf der Startseite anpassen Liste, wählen Sie die XAML-Datei aus, und klicken Sie auf OK.

  4. Wenn die Startseite Ansicht nicht im Menü angezeigt wird, klicken Sie auf Startseite.

  5. Klicken Sie auf die Registerkarte Web.

  6. Geben Sie eine URL in das Feld Suchen ein, und klicken Sie dann auf die Schaltfläche Adresse festlegen .

    Die Webseiten geladen wird.

Nächste Schritte

Sie können benutzerdefinierte Startseiten für andere Benutzer freigeben, indem Sie die VSIX-Datei aus dem Ordner " /Bin/Debug/- " des Projekts zur Visual Studio Gallery Website oder einer anderen Website oder Intranet verwenden hochladen.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Benutzerdefiniertes XAML hinzufügen zur Startseite

Referenz

System.Windows.Controls

Weitere Ressourcen

Anpassen der Startseite für Visual Studio

WPF Container Controls