diff --git a/App.xaml.cs b/App.xaml.cs index f5171aa..0af85c7 100644 --- a/App.xaml.cs +++ b/App.xaml.cs @@ -77,6 +77,8 @@ public partial class App : Application container.AddSingleton(); container.AddScoped(); container.AddScoped(); + container.AddScoped(); + container.AddScoped(); Services = container.BuildServiceProvider(); // 启动服务 Services.GetRequiredService(); diff --git a/Data/Repositories/MqttRepository.cs b/Data/Repositories/MqttRepository.cs index 0cee916..b2bf113 100644 --- a/Data/Repositories/MqttRepository.cs +++ b/Data/Repositories/MqttRepository.cs @@ -46,7 +46,7 @@ public class MqttRepository var result = await _db.Queryable().ToListAsync(); stopwatch.Stop(); Logger.Info($"获取所有Mqtt配置耗时:{stopwatch.ElapsedMilliseconds}ms"); - return result.CopyTo>(); + return result.Select(m=>m.CopyTo()).ToList(); } } diff --git a/Helper/DataServicesHelper.cs b/Helper/DataServicesHelper.cs index 7efb1fe..4c4fbe9 100644 --- a/Helper/DataServicesHelper.cs +++ b/Helper/DataServicesHelper.cs @@ -83,6 +83,9 @@ public class DataServicesHelper case "设备": navgateVM = App.Current.Services.GetRequiredService(); break; + case "Mqtt服务器": + navgateVM = App.Current.Services.GetRequiredService(); + break; case "数据转换": navgateVM = App.Current.Services.GetRequiredService(); break; diff --git a/ViewModels/MainViewModel.cs b/ViewModels/MainViewModel.cs index 1b3a116..8aad9ec 100644 --- a/ViewModels/MainViewModel.cs +++ b/ViewModels/MainViewModel.cs @@ -158,7 +158,6 @@ public partial class MainViewModel : ViewModelBase menu.Data = _dataServices.Devices.FirstOrDefault(d => d.Id == menu.DataId); break; case MenuType.VariableTableMenu: - VariableTableViewModel varTableVM = App.Current.Services.GetRequiredService(); varTableVM.VariableTable = diff --git a/ViewModels/MqttsViewModel.cs b/ViewModels/MqttsViewModel.cs index 0500468..23b5305 100644 --- a/ViewModels/MqttsViewModel.cs +++ b/ViewModels/MqttsViewModel.cs @@ -33,8 +33,20 @@ public partial class MqttsViewModel : ViewModelBase _dialogService = dialogService; _dataServices = dataServices; - MessageHelper.SendLoadMessage(LoadTypes.Mqtts); - _dataServices.OnMqttListChanged += (mqtts) => { Mqtts = new ObservableCollection(mqtts); }; + if (dataServices.Mqtts == null || dataServices.Mqtts.Count == 0) + { + MessageHelper.SendLoadMessage(LoadTypes.Mqtts); + } + else + { + Mqtts = new ObservableCollection(dataServices.Mqtts); + } + + + _dataServices.OnMqttListChanged += (mqtts) => + { + Mqtts = new ObservableCollection(mqtts); + }; } [RelayCommand] diff --git a/Views/MainView.xaml b/Views/MainView.xaml index 0fc6087..5c7e1c3 100644 --- a/Views/MainView.xaml +++ b/Views/MainView.xaml @@ -76,6 +76,10 @@ + + + +