Handling newly devices added to or removed from a list
Detecting changes

What you need is an ObservableCollection:


  Represents a dynamic data collection that provides notifications when items get added, removed, or when the whole list is refreshed.




Your code is very short so there is not much to comment on but there is one more thing that you can improve.


dfuDevices.Except(Devices).AsParallel().ForAll(device =&gt; {
    if (device.GetType() == typeof(DFUDeviceModel)) {
        OnDfuDeviceDetected(device);
    }
});



You can simplify this by using the OfType&lt;T&gt;() extension that


  Filters the elements of an IEnumerable based on a specified type.


dfuDevices
    .Except(Devices)
    .OfType&lt;DFUDeviceModel&gt;()
    .AsParallel()
    .ForAll(OnDfuDeviceDetected);