整合管理器应用端(MAUI跨平台)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
3.0 KiB

using Microsoft.Maui.Controls;
using SunlightAggregationTerminal.Class;
using SunlightAggregationTerminal.Models;
using System.Collections.ObjectModel;
namespace SunlightAggregationTerminal;
public partial class InfoPage : ContentPage
{
public static ObservableCollection<InfoItem> InfoItems { get; set; } = new();
public static string? _Name, _State, _MachineName, _Machine, _Information, _Model,
_Type, _ModelA, _ModelB, _ModelC, _ModelD, _ModelE, _ModelF;
public InfoPage()
{
InitializeComponent();
}
public static void OnInfoPage()//打开时加载信息
{
MainThread.BeginInvokeOnMainThread(() =>
{
InfoItems.Clear();
foreach (Dictionary<string, object> List in DataModel.Info_data)
{
if (List.TryGetValue("Name", out var val) && val != null) _Name = val.ToString()!;
if (List.TryGetValue("State", out val) && val != null) _State = val.ToString()!;
if (List.TryGetValue("MachineName", out val) && val != null) _MachineName = val.ToString()!;
if (List.TryGetValue("Machine", out val) && val != null) _Machine = val.ToString()!;
if (List.TryGetValue("Information", out val) && val != null) _Information = val.ToString()!;
if (List.TryGetValue("Type", out val) && val != null) _Type = val.ToString()!;
if (List.TryGetValue("Model", out val) && val != null) _Model = val.ToString()!;
if (List.TryGetValue("ModelA", out val) && val != null) _ModelA = val.ToString()!;
if (List.TryGetValue("ModelB", out val) && val != null) _ModelB = val.ToString()!;
if (List.TryGetValue("ModelC", out val) && val != null) _ModelC = val.ToString()!;
if (List.TryGetValue("ModelD", out val) && val != null) _ModelD = val.ToString()!;
if (List.TryGetValue("ModelE", out val) && val != null) _ModelE = val.ToString()!;
if (List.TryGetValue("ModelF", out val) && val != null) _ModelF = val.ToString()!;
InfoItems.Add(new InfoItem
{
Name = _Name,
State = _State,
MachineName = _MachineName,
Machine = _Machine,
Information = _Information,
Type = _Type,
Model = _Model,
ModelA = _ModelA,
ModelB = _ModelB,
ModelC = _ModelC,
ModelD = _ModelD,
ModelE = _ModelE,
ModelF = _ModelF
});
}
});
}
private void TapGestureRecognizer_Tapped(object sender, TappedEventArgs e)
{
// 将 sender 强制转换为 BindingContext 定义在 BindableObject
if (sender is Microsoft.Maui.Controls.BindableObject bindable)
{
var context = bindable.BindingContext;
if (context is InfoItem item)
{
DisplayAlert("提示", $"你点击了工单: {item.MachineName}", "确定");
}
}
}
}