From 10bf40662f9619558e8fd0c08ad640613dcf3cf2 Mon Sep 17 00:00:00 2001 From: rain Date: Wed, 22 Apr 2026 08:44:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E6=80=81=E8=A1=A8=E5=A4=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 头罩视野slove/头罩视野/Views/RecordDate.xaml | 20 +--- .../头罩视野/Views/RecordDate.xaml.cs | 98 +++++++++++-------- 头罩视野slove/头罩视野/Views/VisiData.xaml.cs | 2 +- 3 files changed, 60 insertions(+), 60 deletions(-) diff --git a/头罩视野slove/头罩视野/Views/RecordDate.xaml b/头罩视野slove/头罩视野/Views/RecordDate.xaml index 70d69df..1f75cf8 100644 --- a/头罩视野slove/头罩视野/Views/RecordDate.xaml +++ b/头罩视野slove/头罩视野/Views/RecordDate.xaml @@ -161,17 +161,10 @@ - + - - - - - - - - + @@ -205,14 +198,7 @@ ScrollViewer.HorizontalScrollBarVisibility="Auto" - - - - - - - - + diff --git a/头罩视野slove/头罩视野/Views/RecordDate.xaml.cs b/头罩视野slove/头罩视野/Views/RecordDate.xaml.cs index 81ae69c..5622c01 100644 --- a/头罩视野slove/头罩视野/Views/RecordDate.xaml.cs +++ b/头罩视野slove/头罩视野/Views/RecordDate.xaml.cs @@ -18,63 +18,77 @@ namespace 头罩视野.Views /// RecordDate.xaml 的交互逻辑 /// /// - public class VisionData - { - public int Id { get; set; } - public string Time { get; set; } = string.Empty; - public string Date { get; set; } = string.Empty; - public double ChOne { get; set; } - public double ChTwo { get; set; } - public double ChThree { get; set; } - public double ChFour { get; set; } - public double ChFive { get; set; } - public double ChSix { get; set; } - public double ChSeven { get; set; } - public double ChEight { get; set; } - } + public partial class RecordDate : Page { public RecordDate() { InitializeComponent(); - CreateTableData(); // 生成表格 + // 1. 固定列:编号、时间、日期 + //dataGrid1.Columns.Add(new DataGridTextColumn { Header = "编号", Binding = new System.Windows.Data.Binding("Num") }); + //dataGrid1.Columns.Add(new DataGridTextColumn { Header = "时间", Binding = new System.Windows.Data.Binding("Time") }); + //dataGrid1.Columns.Add(new DataGridTextColumn { Header = "日期", Binding = new System.Windows.Data.Binding("Date") }); + DynamicHeader(); + AddTestRow(); } - - // 核心:生成表格数据 - private void CreateTableData() + // 测试数据 + void AddTestRow() { - // 新建列表 - List list = new List(); + var row = new Dictionary + { + { "Num", 1 }, + { "Time", DateTime.Now.ToString("HH:mm:ss") }, + { "Date", DateTime.Now.ToString("yyyy-MM-dd") } + }; - // 添加测试数据(可循环添加多条) - list.Add(new VisionData - { - Id = 1, - Time = "10:25:30", - Date = "2025-12-25", - ChOne = 66, - ChTwo = 12, - ChThree = 67, - ChFour = 89, - ChFive = 94, - ChSix = 87, - ChSeven = 21, - ChEight = 55, - }); + for (int i = 1; i <= 64; i++) + row[$"Ch{i}"] = new Random().Next(10, 100); - - //System.Diagnostics.Debug.WriteLine("页面加载了!112222222"); - - // #################################### - // 绑定到 DataGrid 显示 - dataGrid1.ItemsSource = list; + dataGrid1.Items.Add(row); + dataGrid2.Items.Add(row); } + //动态生成表头 + void DynamicHeader() + { + // 2. 循环生成 64 个 ch 列 + for (int i = 1; i <= 64; i++) + { + dataGrid1.Columns.Add(new DataGridTextColumn + { + Header = $"ch.{i}", + Binding = new System.Windows.Data.Binding($"Ch{i}") + }); + dataGrid2.Columns.Add(new DataGridTextColumn + { + Header = $"ch.{i}", + Binding = new System.Windows.Data.Binding($"Ch{i}") + }); + } + } + + private void btnBack_Click(object sender, RoutedEventArgs e) { - NavigationService.Content = null; } + + + + + + + + + + + + + + + + + private void GoHome(object s, RoutedEventArgs e) => NavigationService.Content = null; private void GoTest(object s, RoutedEventArgs e) => NavigationService.Content = new Views.PageTest(); private void GoRecord(object s, RoutedEventArgs e) => NavigationService.Content = new Views.RecordDate(); diff --git a/头罩视野slove/头罩视野/Views/VisiData.xaml.cs b/头罩视野slove/头罩视野/Views/VisiData.xaml.cs index bd68286..cb2068c 100644 --- a/头罩视野slove/头罩视野/Views/VisiData.xaml.cs +++ b/头罩视野slove/头罩视野/Views/VisiData.xaml.cs @@ -195,7 +195,7 @@ namespace 头罩视野.Views zdtsj1, zdtsj2, zdtsj3, zdtsj4, zdtsj5 }; - // 一次在UI线程批量更新,避免多次Invoke阻塞 + // 一次在UI线程批量更新,避免多次Invoke阻塞0 await Application.Current.Dispatcher.BeginInvoke(new Action(() => { for (int i = 0; i < controls.Length; i++)