diff --git a/src/DiscoveredDeviceViewModel.cs b/src/DiscoveredDeviceViewModel.cs index 7e787ad..926fec1 100644 --- a/src/DiscoveredDeviceViewModel.cs +++ b/src/DiscoveredDeviceViewModel.cs @@ -69,7 +69,7 @@ public partial class DiscoveredDeviceViewModel : ObservableObject, IDisposable /// /// Sets or returns the universal service name (USN) of the device. /// - public string Usn => _device.Usn; + public string? Usn => _device.Usn; /// /// Sets or returns a URL pointing to the device description document for this device. @@ -138,7 +138,15 @@ public partial class DiscoveredDeviceViewModel : ObservableObject, IDisposable public override bool Equals(object? obj) { - return obj is DiscoveredDeviceViewModel viewModel && Equals(viewModel.Usn, Usn); + if (obj is not DiscoveredDeviceViewModel viewModel) + return false; + if (viewModel.Usn != null && !Equals(viewModel.Usn, Usn)) + return false; + if (!Equals(viewModel.MacAddress, MacAddress)) + return false; + if (!Equals(viewModel.IpAddress, IpAddress)) + return false; + return true; } public void Dispose() diff --git a/src/MainWindow.axaml b/src/MainWindow.axaml index 3fd0694..9fcfa8a 100644 --- a/src/MainWindow.axaml +++ b/src/MainWindow.axaml @@ -29,6 +29,11 @@