Files
VacuumPressureMembranePoreS…/Views/PoreDistributionView.xaml.cs
2026-04-02 18:06:10 +08:00

66 lines
2.0 KiB
C#

using MembranePoreTester.ViewModels;
using System.Windows;
using System.Windows.Controls;
namespace MembranePoreTester.Views
{
public partial class PoreDistributionView : UserControl
{
public PoreDistributionView()
{
InitializeComponent();
//DataContext = new ViewModels.PoreDistributionViewModel();
// 监听 IsVisible 变化
this.IsVisibleChanged += (s, e) =>
{
if (this.DataContext is ViewModels.PoreDistributionViewModel vm)
{
vm.IsActive = this.IsVisible;
if (!this.IsVisible)
{
// 离开孔分布界面时,停止自动采集
//vm.StopCollecting();
}
}
};
this.Loaded += OnLoaded;
}
private void OnLoaded(object sender, RoutedEventArgs e)
{
var vm = this.DataContext as PoreDistributionViewModel;
if (vm != null)
{
vm.Record.DataPoints.CollectionChanged += DataPoints_CollectionChanged;
}
}
private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
{
}
private void DataPoints_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
{
// 滚动湿膜表格到底部
ScrollDataGridToEnd(dgWetData);
// 滚动干膜表格到底部
ScrollDataGridToEnd(dgDryData);
}
}
private void ScrollDataGridToEnd(DataGrid dataGrid)
{
if (dataGrid.Items.Count > 0)
{
dataGrid.ScrollIntoView(dataGrid.Items[dataGrid.Items.Count - 1]);
}
}
}
}