2010-08-19 4 views
10

Ich habe Expression Blend verwendet, um die Standardvorlagen für WPF 4.0-Steuerelemente zu kopieren. Ich schreibe einen CodeProject-Artikel über die Erweiterung von WPF-Steuerelementen, und ich möchte ein kostenloses Tool als Alternative empfehlen. Was würdest du vorschlagen? Danke für Ihre Hilfe.Wie greifen Sie WPF 4.0 Standardvorlagen?

Antwort

5

In früheren Versionen von WPF waren die Stile unter dieser -Verknüpfung verfügbar. Sie können versuchen, zu älteren Versionen zu wechseln, um die Download-Links zu sehen. Leider wurde dies für .NET 4.0 noch nicht aktualisiert.

Bis das passiert, wenn Sie jemals Reflektor mit dem BamlViewer Plugin verwenden können. Sobald Sie, dass installiert haben, sollten Sie eine dieser Baugruppen öffnen Öffnen Cache mit:

  1. PresentationFramework.Aero
  2. PresentationFramework.Classic
  3. PresentationFramework.Luna
  4. PresentationFramework.Royale

Stellen Sie sicher, dass Sie die Versionen 4.0.0.0 auswählen. Erweitern Sie anschließend die Assembly und die zugehörigen Ressourcenknoten. Markieren Sie den Ressourceneintrag und drücken Sie die Leertaste, um den Disassembler anzuzeigen. Dann sehen Sie die BAML-Dateien, mit denen Sie den XAML mit BamlViewer anzeigen können. Der einzige Nachteil ist, dass Sie die ursprüngliche Formatierung verlieren.

EDIT:

Die .NET 4 Styles können von here heruntergeladen werden. Genauer gesagt, die Default WPF Themes Verbindung im zweiten Absatz. Alternativ können Sie in bestimmte Steuerelemente drillen, um ein Style-Beispiel zu sehen.

3

MSDN listet sie für Silverlight-Steuerelemente:
http://msdn.microsoft.com/en-us/library/cc278069(VS.95).aspx

Aber ich kann nicht ein ähnliches Angebot für WPF-Steuerelemente finden. Die entsprechende WPF-Seite ist dies und auf mysteriöse Weise fehlt ein Vorlageneintrag:
http://msdn.microsoft.com/en-us/library/ms753328.aspx

Egal, es ist einfach, die Vorlagen zu greifen. Von hier aus:
http://msdn.microsoft.com/en-us/magazine/cc163497.aspx#S1

Control ctrl = GetControl(); // any type deriving from Control 

XmlWriterSettings settings = new XmlWriterSettings(); 
settings.Indent = true; 
settings.IndentChars = new string(' ', 4); 
settings.NewLineOnAttributes = true; 
StringBuilder strbuild = new StringBuilder(); 
XmlWriter xmlwrite = XmlWriter.Create(strbuild, settings); 

// Save the template to the XAML writer 
XamlWriter.Save(ctrl.Template, xmlwrite); 
8

XamlPadX hat eine Schaltfläche "Öffnen/Schließen Stile Window", das wenig Dialog zeigt, welche Sie die Styles anzeigen können.

alt text

+0

Leider hat XamlPadX nicht für WPF 4.0 aktualisiert. Es verfügt nicht über die neuen Steuerelemente wie dem Kalender. –

0

Bitte nehmen Sie sich einen Blick auf diesen Artikel: http://eggheadcafe.com/tutorials/aspnet/d1ad0a33-d815-4083-8e97-c234fd661095/wpf-controls-default-style-or-template-by-extending-the-wpf-designer-in-visual-studio-2010.aspx. Ich habe den WPF-Designer so erweitert, dass er den Standardstil oder die Vorlage über ein Kontextmenü des ausgewählten Steuerelements enthält. Erstellen Sie einfach die Visual Studio-Lösung, und legen Sie die Registrierungseinträge fest, um die Metadaten zu laden. Der Nachteil ist, dass die XAML-Formatierung nicht der von Expression Blend entspricht.

3

Steuerelementvorlagen für WPF 4.0-Steuerelemente können jetzt here gefunden werden.

Sie können jedoch eine Steuerelementvorlage erweitern oder überschreiben, ohne das Original reproduzieren zu müssen, indem Sie die Eigenschaft Style.BasedOn verwenden. Es wird in this blog post erklärt.

0

oder Expression Blend (Testversion) installieren und gehen auf unter Ort:

C:\Program Files\Microsoft Expression\Blend 4\SystemThemes\Wpf 
Verwandte Themen