Files
qhmes/yy-admin-master/YY.Admin/Views/RubberQuickTest/RubberQuickTestOperationView.xaml.cs

73 lines
2.0 KiB
C#
Raw Normal View History

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;
}
}