using System.Globalization; using Avalonia; using Avalonia.Controls; using Avalonia.Layout; using Avalonia.Markup.Xaml; using IBKRTrader.App.Shell; using IBKRTrader.App.ViewModels; using IBKRTrader.Core.Modularity; using IBKRTrader.Core.Settings; using IBKRTrader.Core.Time; namespace IBKRTrader.App.Views; /// /// Core-Ansicht: Einstellungen. Ersetzt das PropertyGrid der WinForms-Fassung durch eine /// aus den Attributen erzeugte Maske (siehe ). /// /// Geändert wird direkt auf dem AppSettings-Objekt; „Speichern" schreibt es nach /// settings.json, „Verwerfen" lädt die Datei neu. Zahlen werden ausdrücklich gegen /// gelesen – die Datei ist maschinenlesbar und darf /// nicht von der Kultur des Rechners abhängen. /// public partial class SettingsWindow : Window { private readonly SettingsService _settings; public SettingsWindow(IModuleUiHost uiHost, SettingsService settings) { _settings = settings; InitializeComponent(); WindowMenu.Wire(this.FindControl("WindowMenuBar")!, uiHost, "core.settings"); this.FindControl