using Avalonia.Controls; using Avalonia.Markup.Xaml; using PolyTrader.App.Avalonia.ViewModels; namespace PolyTrader.App.Avalonia.Controls { /// /// Zeigt ein beliebiges Einstellungsobjekt als kategorisiertes Formular. Ersetzt das /// WinForms-PropertyGrid an allen vier Stellen (Server-Settings, Account-Einstellungen, /// Master-Trader, ResolutionFarming) – ein Aufruf je Fenster, kein Feld-Code. /// /// Änderungen wirken direkt auf dem übergebenen Objekt; das Speichern (Datei/DB) bleibt /// Sache des jeweiligen Fensters – genau wie zuvor beim PropertyGrid. /// public partial class SettingsEditor : UserControl { public SettingsEditor() => AvaloniaXamlLoader.Load(this); /// Setzt das anzuzeigende Objekt (oder null, um zu leeren). /// false blendet Geheimnisfelder aus (#567). public void Show(object? target, bool includeSensitive = true) { var list = this.FindControl("sections")!; list.ItemsSource = target == null ? null : SettingsModelBuilder.Build(target, includeSensitive); } } }