webentwicklung-frage-antwort-db.com.de

Extrahieren der Standardsteuerelementvorlage in Visual Studio

Ich frage mich, wie ich die Standardvorlage eines bestimmten Steuerelements mithilfe von Visual Studio extrahieren (kopieren) kann. Ich weiß, dass dies mit Expression Blend möglich ist (Rechtsklick auf ein Steuerelement, "Vorlage bearbeiten" -> "Kopie bearbeiten ...")), wodurch die Standardsteuerelementvorlage in mein Xaml kopiert wird. Aber ist das überhaupt mit Visual Studio möglich?

49
foreyez

Update 2015 mit klaren Anweisungen

In Visual Studio 2013 können Sie in wenigen einfachen Schritten den Standardwert für ControlTemplateeines Steuerelements abrufen.

  1. Wählen Sie im WPF-Designer das entsprechende Steuerelement aus, oder platzieren Sie den Mauszeiger auf dem entsprechenden Steuerelement in der XAML.

  2. Drücken Sie F4 um das Eigenschaftenfenster zu öffnen.

  3. Öffnen Sie die Kategorie Miscellaneous, um die Eigenschaft Template zu finden, oder geben Sie Template in das Suchfeld oben im Fenster ein.

  4. Klicken Sie auf das kleine Quadrat rechts neben dem Feld Vorlage und wählen Sie die Option In neue Ressource konvertieren ... aus:

enter image description here

  1. Benennen Sie im Popup-Dialogfeld die neue ControlTemplatename__, die hinzugefügt werden soll, und legen Sie fest, wo sie definiert werden soll:

enter image description here

  1. Klicken Sie auf die Schaltfläche OK.
74
Sheridan

Klicken Sie in Visual Studio mit der rechten Maustaste auf das Steuerelement, und wählen Sie Eigenschaften aus.

Suchen Sie im Eigenschaftsfenster nach der Vorlageneigenschaft und klicken Sie mit der rechten Maustaste darauf Wählen Sie Wert zur Ressource extrahieren aus

Dadurch wird eine Kopie der Vorlage in der XAML erstellt, an der Sie arbeiten können.

32
Royi Mindel

Um diese Frage zu aktualisieren, ermöglicht Ihnen der XAML-Designer in VS 11, dies genau wie Expression Blend zu tun.

7
erodewald

Soweit ich weiß ist das nicht möglich. Sie können jedoch Show Me The Template verwenden, um die Standardvorlage für ein bestimmtes Steuerelement anzuzeigen.

2
Adi Lester

Beachten Sie Folgendes: Wenn Sie bereits einen Stil definiert haben, der auf das angegebene Steuerelement zielt, werden alle oben beschriebenen Optionen deaktiviert. Ich hatte in meiner App.xaml-Datei den folgenden Code:

<Application.Resources>
    <Style TargetType="Button">
        <Setter Property="IsTabStop" Value="False"/>
    </Style>
</Application.Resources>

Ich habe mir die Haare ausgezogen und versucht herauszufinden, warum die Optionen "Bearbeiten einer Kopie ..." und "In neue Ressource konvertieren ...", die in den anderen Antworten beschrieben werden, für meinen Button (der in einer völlig anderen Datei definiert wurde) deaktiviert waren ). Ich habe den obigen Style-Code für Button auskommentiert und plötzlich wurden beide Optionen nicht mehr deaktiviert. Moral der Geschichte: VS generiert keinen Stil, der eine Kopiervorlage für Sie enthält, wenn bereits ein Stil für dieses Element in Ihrem Code vorhanden ist.