8 changed files with 142 additions and 29 deletions
@ -0,0 +1,25 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Globalization; |
||||
|
using System.Text; |
||||
|
|
||||
|
namespace SunlightAggregationTerminal.Converters |
||||
|
{ |
||||
|
public class StringToBoolConverter : IValueConverter |
||||
|
{ |
||||
|
public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) |
||||
|
{ |
||||
|
if (value !=null) |
||||
|
{ |
||||
|
return true; |
||||
|
} |
||||
|
return false; |
||||
|
} |
||||
|
|
||||
|
public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) |
||||
|
{ |
||||
|
// 单向绑定通常不需要实现,除非你需要双向绑定
|
||||
|
throw new NotImplementedException(); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -1,26 +1,77 @@ |
|||||
|
using Microsoft.Maui.Controls; |
||||
|
using SunlightAggregationTerminal.Class; |
||||
using SunlightAggregationTerminal.Models; |
using SunlightAggregationTerminal.Models; |
||||
using System.Collections.ObjectModel; |
using System.Collections.ObjectModel; |
||||
|
|
||||
namespace SunlightAggregationTerminal; |
namespace SunlightAggregationTerminal; |
||||
|
|
||||
public partial class InfoPage : ContentPage |
public partial class InfoPage : ContentPage |
||||
{ |
{ |
||||
public ObservableCollection<InfoItem> InfoItems { get; set; } = new(); |
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() |
public InfoPage() |
||||
{ |
{ |
||||
InitializeComponent(); |
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="202",Model= "302", State="tz",Machine="123456",Information="etggsgt\n234423\ngsgsg\nstset" }); |
InfoItems.Add(new InfoItem |
||||
InfoItems.Add(new InfoItem { Name = "pdw", Model = "252-2T", State = "tz", Machine = "123456", Information = "etggsgt\n234423\ngsgsg\nstset" }); |
{ |
||||
InfoItems.Add(new InfoItem { Name = "pdw", Model = "242W", State = "tz", Machine = "123456", Information = "etggsgt\n234423\ngsgsg\nstset" }); |
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 |
||||
|
}); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
}); |
||||
|
|
||||
CardCollectionView.ItemsSource = InfoItems; |
|
||||
} |
} |
||||
|
|
||||
private void CardCollectionView_RemainingItemsThresholdReached(object sender, EventArgs e) |
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}", "确定"); |
||||
|
|
||||
|
} |
||||
|
} |
||||
} |
} |
||||
} |
} |
||||
Loading…
Reference in new issue