完成Mqtt服务器页的导航

This commit is contained in:
2025-07-04 23:34:54 +08:00
parent f86ce8194b
commit 2e9586bfdf
6 changed files with 24 additions and 4 deletions

View File

@@ -77,6 +77,8 @@ public partial class App : Application
container.AddSingleton<VariableTableView>();
container.AddScoped<DeviceDetailViewModel>();
container.AddScoped<DeviceDetailView>();
container.AddScoped<MqttsViewModel>();
container.AddScoped<MqttsView>();
Services = container.BuildServiceProvider();
// 启动服务
Services.GetRequiredService<GrowlNotificationService>();

View File

@@ -46,7 +46,7 @@ public class MqttRepository
var result = await _db.Queryable<DbMqtt>().ToListAsync();
stopwatch.Stop();
Logger.Info($"获取所有Mqtt配置耗时{stopwatch.ElapsedMilliseconds}ms");
return result.CopyTo<List<Mqtt>>();
return result.Select(m=>m.CopyTo<Mqtt>()).ToList();
}
}

View File

@@ -83,6 +83,9 @@ public class DataServicesHelper
case "设备":
navgateVM = App.Current.Services.GetRequiredService<DevicesViewModel>();
break;
case "Mqtt服务器":
navgateVM = App.Current.Services.GetRequiredService<MqttsViewModel>();
break;
case "数据转换":
navgateVM = App.Current.Services.GetRequiredService<DataTransformViewModel>();
break;

View File

@@ -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<VariableTableViewModel>();
varTableVM.VariableTable =

View File

@@ -33,8 +33,20 @@ public partial class MqttsViewModel : ViewModelBase
_dialogService = dialogService;
_dataServices = dataServices;
MessageHelper.SendLoadMessage(LoadTypes.Mqtts);
_dataServices.OnMqttListChanged += (mqtts) => { Mqtts = new ObservableCollection<Mqtt>(mqtts); };
if (dataServices.Mqtts == null || dataServices.Mqtts.Count == 0)
{
MessageHelper.SendLoadMessage(LoadTypes.Mqtts);
}
else
{
Mqtts = new ObservableCollection<Mqtt>(dataServices.Mqtts);
}
_dataServices.OnMqttListChanged += (mqtts) =>
{
Mqtts = new ObservableCollection<Mqtt>(mqtts);
};
}
[RelayCommand]

View File

@@ -76,6 +76,10 @@
<DataTemplate DataType="{x:Type vm:DataTransformViewModel}">
<local:DataTransformView />
</DataTemplate>
<!-- Mqtt服务器页 -->
<DataTemplate DataType="{x:Type vm:MqttsViewModel}">
<local:MqttsView />
</DataTemplate>
<!-- 设置页 -->
<DataTemplate DataType="{x:Type vm:SettingViewModel}">
<local:SettingView />