private void UpdateStatus(WirelessNetworkStatus status) { LoadingIcon.Visibility = Visibility.Collapsed; SignalStrengthIcon.Visibility = Visibility.Visible; NetworkStatusIcon.Visibility = Visibility.Visible; switch (status) { case WirelessNetworkStatus.Connected: NetworkStatusIcon.Source = ImageAwesome.CreateImageSource(FontAwesomeIcon.Check, Brushes.Green); break; case WirelessNetworkStatus.Connecting: LoadingIcon.Visibility = Visibility.Visible; SignalStrengthIcon.Visibility = Visibility.Collapsed; NetworkStatusIcon.Visibility = Visibility.Collapsed; UpdateText(text.Get(TextKey.SystemControl_WirelessConnecting)); break; default: NetworkStatusIcon.Source = ImageAwesome.CreateImageSource(FontAwesomeIcon.Close, Brushes.Orange); SignalStrengthIcon.Child = GetIcon(0); UpdateText(text.Get(TextKey.SystemControl_WirelessDisconnected)); break; } }
public void Update(IEnumerable <IWirelessNetwork> networks) { Dispatcher.InvokeAsync(() => { NetworksStackPanel.Children.Clear(); foreach (var network in networks) { var button = new TaskbarWirelessNetworkButton(network); var isCurrent = network.Status == WirelessNetworkStatus.Connected; button.IsCurrent = isCurrent; button.NetworkName = network.Name; button.SignalStrength = network.SignalStrength; button.NetworkSelected += (id) => NetworkSelected?.Invoke(id); if (isCurrent) { NetworkStatus = network.Status; SignalStrengthIcon.Child = GetIcon(network.SignalStrength); } NetworksStackPanel.Children.Add(button); } }); }
private void WirelessAdapter_StatusChanged(WirelessNetworkStatus status) { Dispatcher.InvokeAsync(() => UpdateStatus(status)); }