private void DoAppStartup() { ((Manager)Resources["ThemeManager"]).Load(); _mixerWindow = new WindowHolder(CreateMixerExperience); _settingsWindow = new WindowHolder(CreateSettingsExperience); PlaybackDevicesViewModel = new DeviceCollectionViewModel(WindowsAudioFactory.Create(AudioDeviceKind.Playback)); PlaybackDevicesViewModel.Ready += OnMainViewModelReady; FlyoutViewModel = new FlyoutViewModel(PlaybackDevicesViewModel); FlyoutWindow = new FlyoutWindow(FlyoutViewModel); TrayViewModel = new TrayViewModel(PlaybackDevicesViewModel); TrayViewModel.LeftClick = new RelayCommand(() => FlyoutViewModel.OpenFlyout(FlyoutShowOptions.Pointer)); TrayViewModel.OpenMixer = new RelayCommand(_mixerWindow.OpenOrBringToFront); TrayViewModel.OpenSettings = new RelayCommand(_settingsWindow.OpenOrBringToFront); FlyoutWindow.DpiChanged += (_, __) => TrayViewModel.Refresh(); _trayIcon = new TrayIcon(TrayViewModel); SettingsService.RegisterHotkeys(); HotkeyManager.Current.KeyPressed += OnHotKeyPressed; MaybeShowFirstRunExperience(); }
private void Application_Startup(object sender, StartupEventArgs e) { ErrorReportingService.Initialize(); Trace.WriteLine("App Application_Startup"); if (!SingleInstanceAppMutex.TakeExclusivity()) { Trace.WriteLine("App Application_Startup TakeExclusivity failed"); Current.Shutdown(); return; } ((ThemeManager)Resources["ThemeManager"]).SetTheme(ThemeData.GetBrushData()); var deviceManager = DataModelFactory.CreateAudioDeviceManager(); DiagnosticsService.Advise(deviceManager); _viewModel = new MainViewModel(deviceManager); _viewModel.Ready += MainViewModel_Ready; _flyoutWindow = new FlyoutWindow(_viewModel, new FlyoutViewModel(_viewModel)); _trayIcon = new TrayIcon(new TrayViewModel(_viewModel)); HotkeyService.Register(SettingsService.Hotkey); HotkeyService.KeyPressed += (_, __) => _viewModel.OpenFlyout(); StartupUWPDialogDisplayService.ShowIfAppropriate(); Trace.WriteLine($"App Application_Startup Exit"); }
private void AssociatedObject_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { var flyoutWindow = FlyoutWindow.GetFlyoutWindow(AssociatedObject); if (flyoutWindow != null) { flyoutWindow.DragMove(); } }
private void ContinueStartup() { ((UI.Themes.Manager)Resources["ThemeManager"]).Load(); _settings = new AppSettings(); _settings.FlyoutHotkeyTyped += () => FlyoutViewModel.OpenFlyout(InputType.Keyboard); _settings.MixerHotkeyTyped += () => _mixerWindow.OpenOrClose(); _settings.SettingsHotkeyTyped += () => _settingsWindow.OpenOrBringToFront(); _mixerWindow = new WindowHolder(CreateMixerExperience); _settingsWindow = new WindowHolder(CreateSettingsExperience); PlaybackDevicesViewModel = new DeviceCollectionViewModel(DataModel.WindowsAudio.WindowsAudioFactory.Create(DataModel.WindowsAudio.AudioDeviceKind.Playback), _settings); PlaybackDevicesViewModel.Ready += (_, __) => CompleteStartup(); PlaybackDevicesViewModel.TrayPropertyChanged += () => UpdateTrayTooltipAndIcon(); FlyoutViewModel = new FlyoutViewModel(PlaybackDevicesViewModel, () => _trayIcon.SetFocus()); FlyoutWindow = new FlyoutWindow(FlyoutViewModel); CreateTrayExperience(); }
private void ContinueStartup() { ((UI.Themes.Manager)Resources["ThemeManager"]).Load(); var deviceManager = WindowsAudioFactory.Create(AudioDeviceKind.Playback); deviceManager.Loaded += (_, __) => CompleteStartup(); CollectionViewModel = new DeviceCollectionViewModel(deviceManager, _settings); _trayIcon = new ShellNotifyIcon(new TaskbarIconSource(CollectionViewModel, _settings)); Exit += (_, __) => _trayIcon.IsVisible = false; CollectionViewModel.TrayPropertyChanged += () => _trayIcon.SetTooltip(CollectionViewModel.GetTrayToolTip()); _flyoutViewModel = new FlyoutViewModel(CollectionViewModel, () => _trayIcon.SetFocus()); FlyoutWindow = new FlyoutWindow(_flyoutViewModel); // Initialize the FlyoutWindow last because its Show/Hide cycle will pump messages, causing UI frames // to be executed, breaking the assumption that startup is complete. FlyoutWindow.Initialize(); }
private void Application_Startup(object sender, StartupEventArgs e) { ErrorReportingService.Initialize(); Trace.WriteLine("App Application_Startup"); if (!SingleInstanceAppMutex.TakeExclusivity()) { Trace.WriteLine("App Application_Startup TakeExclusivity failed"); Current.Shutdown(); return; } ((ThemeManager)Resources["ThemeManager"]).SetTheme(ThemeData.GetBrushData()); PlaybackDevicesViewModel = new DeviceCollectionViewModel(DataModelFactory.CreateAudioDeviceManager(AudioDeviceKind.Playback)); PlaybackDevicesViewModel.Ready += MainViewModel_Ready; FlyoutViewModel = new FlyoutViewModel(PlaybackDevicesViewModel); FlyoutWindow = new FlyoutWindow(FlyoutViewModel); TrayViewModel = new TrayViewModel(PlaybackDevicesViewModel); TrayViewModel.LeftClick = new RelayCommand(() => FlyoutViewModel.OpenFlyout(FlyoutShowOptions.Pointer)); TrayViewModel.OpenMixer = new RelayCommand(OpenMixer); TrayViewModel.OpenSettings = new RelayCommand(OpenSettings); _trayIcon = new TrayIcon(TrayViewModel); FlyoutWindow.DpiChanged += (_, __) => TrayViewModel.DpiChanged(); HotkeyManager.Current.Register(SettingsService.Hotkey); HotkeyManager.Current.KeyPressed += (hotkey) => { if (hotkey.Equals(SettingsService.Hotkey)) { FlyoutViewModel.OpenFlyout(FlyoutShowOptions.Keyboard); } }; StartupUWPDialogDisplayService.ShowIfAppropriate(); Trace.WriteLine($"App Application_Startup Exit"); }
private void MainWindow_Loaded(object sender, RoutedEventArgs e) { var myView = new MyView(); flyoutWindow = new FlyoutWindow() { Activatable = true, ZBandID = ZBandID.Desktop, Content = myView, Alignment = FlyoutWindowAlignments.Bottom | FlyoutWindowAlignments.Right, FlyoutWindowType = FlyoutWindowType.OnScreen, Margin = new(10), Offset = new(20, 1, 20, 30) }; flyoutWindow.IsOpen = true; myView.DataContext = flyoutWindow; //BandWindow.SetBandWindow(myView, flyoutWindow); flyoutWindow.Deactivated += (s, e) => flyoutWindow.IsOpen = false; }