protected override void StartApplicationInternal(Operation <Window> operation) { app_builder .AfterSetup(delegate(AppBuilder builder) { ((IClassicDesktopStyleApplicationLifetime)builder.Instance.ApplicationLifetime).MainWindow = operation(); }) .StartWithClassicDesktopLifetime(Empty.Array <string>()); }
public static AppBuilder HandleOSThemeChange(this AppBuilder appBuilder) { return(appBuilder.AfterSetup(_ => { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { MessageCommunicatorGlobalProperties.Current.CurrentTheme = WindowsThemeToMessageCommunicator( WindowsThemeDetector.GetWindowsTheme()); var syncContext = SynchronizationContext.Current; if (syncContext is AvaloniaSynchronizationContext) { WindowsThemeDetector.ListenForThemeChangeEvent(newTheme => { syncContext.Post(args => { MessageBus.Current.SendMessage( new MessageThemeChangeRequest(WindowsThemeToMessageCommunicator(newTheme))); }, null); }); } } })); }