73 lines
2.0 KiB
C#
73 lines
2.0 KiB
C#
using System.Windows.Controls;
|
|
using YY.Admin.ViewModels.RubberQuickTest;
|
|
|
|
namespace YY.Admin.Views.RubberQuickTest;
|
|
|
|
public partial class RubberQuickTestOperationView : UserControl
|
|
{
|
|
private RubberQuickTestOperationViewModel? _vm;
|
|
|
|
public RubberQuickTestOperationView()
|
|
{
|
|
InitializeComponent();
|
|
DataContextChanged += OnDataContextChanged;
|
|
}
|
|
|
|
private void OnDataContextChanged(object sender, System.Windows.DependencyPropertyChangedEventArgs e)
|
|
{
|
|
if (_vm != null)
|
|
_vm.InspectColumnsChanged -= RebuildInspectColumns;
|
|
_vm = DataContext as RubberQuickTestOperationViewModel;
|
|
if (_vm != null)
|
|
{
|
|
_vm.InspectColumnsChanged += RebuildInspectColumns;
|
|
RebuildInspectColumns();
|
|
}
|
|
}
|
|
|
|
private void RebuildInspectColumns()
|
|
{
|
|
if (_vm == null) return;
|
|
|
|
InspectResultGrid.Columns.Clear();
|
|
InspectResultGrid.Columns.Add(new DataGridTextColumn
|
|
{
|
|
Header = "编号",
|
|
Binding = new System.Windows.Data.Binding("RowNo"),
|
|
IsReadOnly = true,
|
|
Width = 80
|
|
});
|
|
|
|
for (int i = 0; i < _vm.DataPointColumns.Count; i++)
|
|
{
|
|
var col = _vm.DataPointColumns[i];
|
|
var binding = new System.Windows.Data.Binding($"Cells[{i}].Value")
|
|
{
|
|
UpdateSourceTrigger = System.Windows.Data.UpdateSourceTrigger.PropertyChanged,
|
|
Mode = System.Windows.Data.BindingMode.TwoWay
|
|
};
|
|
InspectResultGrid.Columns.Add(new DataGridTextColumn
|
|
{
|
|
Header = col.PointName ?? $"点{i + 1}",
|
|
Binding = binding,
|
|
Width = 90,
|
|
IsReadOnly = false
|
|
});
|
|
}
|
|
|
|
InspectResultGrid.Columns.Add(new DataGridTextColumn
|
|
{
|
|
Header = "实验结果",
|
|
Binding = new System.Windows.Data.Binding("InspectResultText"),
|
|
IsReadOnly = true,
|
|
Width = 90
|
|
});
|
|
}
|
|
|
|
private void InspectResultGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
if (_vm == null) return;
|
|
_vm.SelectedInspectRow = InspectResultGrid.SelectedItem as QuickTestInspectRowViewModel;
|
|
}
|
|
}
|