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
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:
- PresentationFramework.Aero
- PresentationFramework.Classic
- PresentationFramework.Luna
- 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.
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);
XamlPadX hat eine Schaltfläche "Öffnen/Schließen Stile Window", das wenig Dialog zeigt, welche Sie die Styles anzeigen können.
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.
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.
oder Expression Blend (Testversion) installieren und gehen auf unter Ort:
C:\Program Files\Microsoft Expression\Blend 4\SystemThemes\Wpf
- 1. Ändern Sie die Standardvorlagen für ein Projekt?
- 2. Datetime für WPF 4.0
- 3. Wie lokalisieren die WPF 4.0 Datepicker Kontrolle
- 4. WPF 4.0-Schrift-Rendering-Problem
- 5. C# 4.0 GetWindowRect in wpf
- 6. Silverlight (4.0) für WPF-Benutzer
- 7. Kann nicht zu den Standardvorlagen in Meteor
- 8. Wie verschlüsseln Sie ASP.NET 4.0 Web.Config?
- 9. Weird UserControl-Bildpfadverhalten in Blend 4 und WPF 4.0
- 10. Greifen Sie Zahlen nach einem Doppelpunkt?
- 11. Greifen Sie auf Djangos field.choices zu
- 12. Coerce ein WPF TextBox funktioniert nicht mehr in .NET 4.0
- 13. So greifen Sie zuletzt geänderte Datei
- 14. Wo ist Microsoft's WPF/Silverlight Charting in .NET 4.0 verschwunden?
- 15. Mehrere Barcode-Lesegeräte mit SerialPort in .NET 4.0 mit WPF
- 16. Prevent WPF 4.0 Datagrid von Anzeigen leere Spalt
- 17. So greifen Sie über den Dienst
- 18. Microsoft.Expression.Blend in einer WPF-Anwendung Targeting .net 4.0
- 19. WPF langsam auf x64 in .NET Framework 4.0
- 20. Wie greifen Sie auf Trackpad-Gesten in Delphi-Berlin zu?
- 21. Wie greifen Sie auf Eigenschaften der Basisklasse in Typescript zu?
- 22. Wie greifen Sie die DisplayNameFor in einem verschachtelten Modell
- 23. Wie greifen Sie auf exportierte Funktionen von einander zu?
- 24. Wie greifen Sie ein Attribut von Kind-Knoten in XML
- 25. Wie greifen Sie auf Hardwaredekodierung auf tvOS ohne VideoToolbox zu?
- 26. Wie greifen Sie den Inhalt von HTML-Tags?
- 27. Wie greifen Sie auf den aktuellen Benutzereintrag im Adressbuch zu?
- 28. Wie greifen Sie auf die Bildnummer in AVAsynchronousCIImageFilteringRequest zu?
- 29. Wie greifen Sie auf den Inhalt eines ASP.NET-Steuerelements zu?
- 30. Wie greifen Sie auf eine rowID in reaktiv nativen?
Leider hat XamlPadX nicht für WPF 4.0 aktualisiert. Es verfügt nicht über die neuen Steuerelemente wie dem Kalender. –