private async void LifxClient_DeviceDiscovered(object sender, LifxClient.DeviceDiscoveryEventArgs e) { await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { if (e.Device is LightBulb bulb) { LifxItem lifxBulb = new LifxItem(this.LifxClient, bulb); if (!this.Items.Contains(lifxBulb)) { this.Items.Add(lifxBulb); } } }); }
private async void LifxClient_DeviceLost(object sender, LifxClient.DeviceDiscoveryEventArgs e) { await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { if (e.Device is LightBulb bulb) { LifxItem item = this.Items.Where(t => t.HostName == bulb.HostName).SingleOrDefault(); if (item != null) { item.Dispose(); this.Items.Remove(item); } } }); }