2009-10-13 14 views

risposta

30

Gli stili insieme agli esempi di modello sono disponibili fino a on MSDN per il download, vedere Default WPF Themes link.

Tuttavia, è anche possibile estendere lo stile esistente senza ridefinire tutto utilizzando l'attributo BasedOn.

+1

Argh matey! Il tuo link sarà affondato nell'armadietto di Davey Jones! – Danielson

+0

@Danielson ha aggiornato il collegamento –

1

È possibile utilizzare uno strumento come ShowMeTheTemplate

+0

Esiste un codice per ottenere in formato XAML? (Come visualizzare l'albero visuale in formato albero) –

+0

sì, dal momento che questo strumento lo fa ... si può guardare il codice, è fornito in zip file –

34

Partenza StyleSnooper:

http://www.blogs.intuidev.com/image.axd?picture=2010/5/StyleSnooper_TN.png

Si farà il dump gli stili standard (e quindi i template troppo) per il costruito nel controllo. È inoltre possibile caricare in una DLL specifica che contiene controlli WPF e visualizzare gli stili predefiniti anche per quelli.

+6

I collegamenti non funzionano. –

+0

@ doron-yaacoby, ho trovato un altro link per il download da: http://blog.tomaskafka.com/book/export/html/112 –

+0

@NicolaiShestakov, grazie, ho aggiornato il link nella risposta. –

14

Se avete Expression Blend è possibile:

  1. Trascinare il controllo sull'area di progettazione
  2. Fare clic destro sul controllo e selezionate Modifica modello -> Modifica Copia

Quando si esegue questa operazione, Blend estrarrà il modello di base dal controllo e lo dichiarerà esplicitamente all'interno di documento/applicazione come una risorsa che potrai quindi modificare a tuo piacimento. Puoi farlo per qualsiasi controllo.

3

Il libro "Pro WPF in C# 2008", di Matthew MacDonald, include un browser dei modelli di controllo nel Capitolo 15. Credo che si possa semplicemente scaricare il codice di esempio dal sito Web di Apress.

1

Utilizzare Microsoft Miscela per esso: incollare l'intero codice XAML in un file in questo strumento e fare clic destro il controllo di cui si desidera percepire albero visuale:

Selezionare l'opzione: Modifica modello e ci si va

0

La classe XamlWriter fornisce questa funzionalità. Se controlName è il nome di un controllo quindi si utilizza lo snippet di sotto si ottiene l'Xaml del modello di controllo all'interno dell'oggetto stringBuilder. Suppongo che gli strumenti menzionati nelle risposte utilizzino questa classe.

var stringBuilder = new StringBuilder(); 
var xmlSettings = new XmlWriterSettings 
{ 
    Indent = true 
}; 

using (var xmlWriter = XmlWriter.Create(stringBuilder, xmlSettings)) 
{ 
    XamlWriter.Save(controlName.Template, xmlWriter); 
} 
Problemi correlati