Wie kann ich Folgendes tun: How to make WPF TreeView style as WinForms TreeView? in Code, ohne XAML? Der Grund, warum ich dies tun muss, ist, dass das TreeView, das ich erhalten habe, im Code definiert ist, also gibt es überhaupt kein XAML. Während ich mit XAML anfangen kann, weiß ich nicht, wie man XAML zu etwas hinzufügt, das es nicht zu Beginn hat. Ich bin sehr neu in WPF, mache aber Winforms seit Jahren. Die TreeView besteht nur aus einer großen Hierarchie von TreeViewItem-Objekten mit Header- und Tag-Werten.Hinzufügen von Verbindungslinien zu WPF TreeView Programmatisch (ohne XAML)
Antwort
Wenn man sich die Antwort auf die Artikel, den Sie verknüpft sehen, Details es einen TreeViewItem Stil wie folgt definiert: -
<Style x:Key="{x:Type TreeViewItem}" TargetType="{x:Type TreeViewItem}">
Wenn die x: Key in den Zieltyp festgelegt ist (oder ganz weggelassen) , sollte der Stil der Anwendungsstandard für diesen Steuerelementtyp werden.
Wenn Sie die Stile in der Antwort dieses Artikels zu Ihrer App.xaml-Datei hinzufügen, sollten alle TreeViewItems in Ihrer Anwendung diesen Standard-Stil übernehmen.
Wenn dies nicht funktioniert, können Sie eine weitere Sache versuchen. Ändern Sie den Schlüssel Stil in einen String, zB: -
<Style x:Key="WindowsTreeViewItemStyle" TargetType="{x:Type TreeViewItem}">
Dann in Ihrem Code, durchlaufen die TreeViewItems im TreeView, und weisen jedem man den Stil programmatisch: -
var style = (Style)Application.Current.FindResource("WindowsTreeViewItemStyle");
foreach (var treeViewItem in ...)
{
treeviewitem.Style = style;
}
(Verwenden Der XAML dieses Artikels ist auf eigene Gefahr - der Link zur vollständigen Quell-ZIP ist tot, und was in seiner SO-Antwort ausführlich beschrieben wird, ist möglicherweise unvollständig!)
- 1. Hinzufügen von Benutzersteuerelement/Seite zu Windows XAML programmatisch in WPF
- 2. WPF - XAML Treeview zu Generic.List Bindung
- 3. Kontextmenü in WPF ohne XAML
- 4. MVVM Treeview wpf (Bindung?)
- 5. WPF hinzufügen TabItem mit Verhalten programmatisch
- 6. Unterobjekte zu ListView hinzufügen, ohne XAML zu verwenden
- 7. WPF Treeview löschen Operation
- 8. Refresh Bootstrap Treeview programmatisch
- 9. WPF TreeView Virtualisierung
- 10. Liste zu C# TreeView hinzufügen
- 11. Hinzufügen von Thema XAML zu einem bestehenden WPF-Projekt
- 12. WinRT XAML Toolkit TreeView Speicherstatus
- 13. Windows -C# - Baumansicht ohne Verbindungslinien
- 14. WPF-TreeView-dynamische Gruppierung
- 15. WPF TreeView Binding
- 16. WPF: Binden TreeView
- 17. WPF XAML Treeview in einem Stack-Panel - kein Scrollen?
- 18. WPF - Bestücken TreeView Von SQL
- 19. Erstellen, aktualisieren Sie eine WPF TreeView und erinnern Sie sich an erweiterte Knoten ohne XAML
- 20. WPF: TreeView zeigt keine Kinder
- 21. WPF Bindung externe Arten ohne XAML-Tag
- 22. WPF DataBound Treeview erweitern/reduzieren
- 23. WPF ScrollViewer von TreeView entfernen
- 24. Umwandlung von WPF xaml in Silverlight xaml
- 25. Hinzufügen von Schaltflächen zu Bootstrap TreeView-Knoten
- 26. Wie Ereignishandler programmatisch in WPF hinzufügen wie man in Winform
- 27. Hinzufügen von UIElements zu benutzerdefiniertem Steuerelement (WPF)
- 28. Hinzufügen von Elementen zu Combobox in WPF
- 29. hinzufügen programmatisch ListViewItem zur Listenansicht in WPF
- 30. hinzufügen Animation zu TreeView erweitern
Ich habe keine App.xaml-Datei. Was ich habe, ist eine große App mit 'Haken', wo ich Baugruppen und Klassen für die Anpassung angeben kann. Ich konnte es mit reinem Code anpassen. Ich weiß nicht (oder verstehe), wie man die Verbindung zwischen XAML und Code erzwingt, da ich nicht wirklich verstehe, wie diese Verbindung "natürlich" auftritt. In Ihrer Antwort weiß ich nicht, wo ich den XAML setzen würde, wenn ich keinen Zugriff auf App.xaml hätte. Was ich habe, ist eine Reihe von kompilierten .Net-Assemblies und einige von ihnen sind meine eigenen, die von der Baseline-Anwendung geladen werden. – MikeGeek