protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); _trayIconViewModel = _container.Resolve <ITrayIconViewModel>(); _trayIconViewModel.Model = _trayIcon; _trayIconView = (TaskbarIcon)FindResource("TrayIcon"); // ReSharper disable once PossibleNullReferenceException - Happy to crash here if this happens _trayIconView.DataContext = _trayIconViewModel; Task.Run(() => Update()); _trayIcon.RunMonitor(); }
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); AppKernel.Instance.Kernel.Load <AppModule>(); _trayIcon = (TaskbarIcon)FindResource("Popup"); if (_trayIcon == null) { return; } ITrayIconViewModel trayIconViewModel = AppKernel.Get <ITrayIconViewModel>(); _trayIcon.DataContext = trayIconViewModel; trayIconViewModel.PopupViewModel.BambooPlanChanged += BambooPlanChanged; }
/// <summary> /// Get the ITrayIcon belonging to the specified ITrayIconViewModel instance /// </summary> /// <param name="trayIconViewModel">ViewModel instance to get the ITrayIcon for</param> /// <returns>ITrayIcon</returns> public ITrayIcon GetTrayIconFor(ITrayIconViewModel trayIconViewModel) { var result = _trayIcons.Where(x => { // Try to get the key to compare x.Key.TryGetTarget(out var currentTrayIconViewModel); // Try to get the value to check if it's available x.Value.TryGetTarget(out var trayIcon); return(trayIconViewModel == currentTrayIconViewModel && trayIcon != null); }) .Select(x => { x.Value.TryGetTarget(out var trayIcon); return(trayIcon); }) .FirstOrDefault(); return(result); }