更新
This commit is contained in:
@@ -790,7 +790,8 @@
|
|||||||
BorderThickness="1"
|
BorderThickness="1"
|
||||||
CornerRadius="10"
|
CornerRadius="10"
|
||||||
Padding="6">
|
Padding="6">
|
||||||
<lvc:CartesianChart Series="{Binding ForceSeries}"
|
<lvc:CartesianChart x:Name="RealtimeForceChart"
|
||||||
|
Series="{Binding ForceSeries}"
|
||||||
XAxes="{Binding ForceXAxes}"
|
XAxes="{Binding ForceXAxes}"
|
||||||
YAxes="{Binding ForceYAxes}"
|
YAxes="{Binding ForceYAxes}"
|
||||||
Sections="{Binding ForceSections}"
|
Sections="{Binding ForceSections}"
|
||||||
@@ -799,7 +800,9 @@
|
|||||||
TooltipPosition="Hidden"
|
TooltipPosition="Hidden"
|
||||||
AnimationsSpeed="0:0:0"
|
AnimationsSpeed="0:0:0"
|
||||||
EasingFunction="{x:Null}"
|
EasingFunction="{x:Null}"
|
||||||
DrawMarginFrame="{x:Null}" />
|
DrawMarginFrame="{x:Null}"
|
||||||
|
Loaded="RealtimeForceChart_Loaded"
|
||||||
|
SizeChanged="RealtimeForceChart_SizeChanged" />
|
||||||
</Border>
|
</Border>
|
||||||
</Border>
|
</Border>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ using System;
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Threading;
|
||||||
using COFTester.ViewModels;
|
using COFTester.ViewModels;
|
||||||
|
|
||||||
namespace COFTester;
|
namespace COFTester;
|
||||||
@@ -12,6 +13,7 @@ public partial class MainWindow : Window
|
|||||||
private const double CollapsedSidebarWidth = 118;
|
private const double CollapsedSidebarWidth = 118;
|
||||||
private readonly MainViewModel _viewModel = new();
|
private readonly MainViewModel _viewModel = new();
|
||||||
private bool _isSidebarCollapsed;
|
private bool _isSidebarCollapsed;
|
||||||
|
private bool _isRealtimeChartLayoutRefreshQueued;
|
||||||
|
|
||||||
public MainWindow()
|
public MainWindow()
|
||||||
{
|
{
|
||||||
@@ -41,6 +43,21 @@ public partial class MainWindow : Window
|
|||||||
MainWorkspaceTabs.SelectedIndex = 1;
|
MainWorkspaceTabs.SelectedIndex = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void RealtimeForceChart_Loaded(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
QueueRealtimeChartLayoutRefresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RealtimeForceChart_SizeChanged(object sender, SizeChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.NewSize.Width <= 0 || e.NewSize.Height <= 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QueueRealtimeChartLayoutRefresh();
|
||||||
|
}
|
||||||
|
|
||||||
private void TableMotionButton_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
private void TableMotionButton_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
||||||
{
|
{
|
||||||
if (sender is not Button button || button.Tag is not string direction)
|
if (sender is not Button button || button.Tag is not string direction)
|
||||||
@@ -86,5 +103,31 @@ public partial class MainWindow : Window
|
|||||||
SidebarDetails.Visibility = collapsed ? Visibility.Collapsed : Visibility.Visible;
|
SidebarDetails.Visibility = collapsed ? Visibility.Collapsed : Visibility.Visible;
|
||||||
SidebarCollapsedRail.Visibility = collapsed ? Visibility.Visible : Visibility.Collapsed;
|
SidebarCollapsedRail.Visibility = collapsed ? Visibility.Visible : Visibility.Collapsed;
|
||||||
SidebarHost.Padding = collapsed ? new Thickness(12) : new Thickness(18, 16, 14, 16);
|
SidebarHost.Padding = collapsed ? new Thickness(12) : new Thickness(18, 16, 14, 16);
|
||||||
|
QueueRealtimeChartLayoutRefresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void QueueRealtimeChartLayoutRefresh()
|
||||||
|
{
|
||||||
|
if (_isRealtimeChartLayoutRefreshQueued)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_isRealtimeChartLayoutRefreshQueued = true;
|
||||||
|
Dispatcher.BeginInvoke(RefreshRealtimeChartLayout, DispatcherPriority.ContextIdle);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void RefreshRealtimeChartLayout()
|
||||||
|
{
|
||||||
|
_isRealtimeChartLayoutRefreshQueued = false;
|
||||||
|
|
||||||
|
if (RealtimeForceChart.ActualWidth <= 0 || RealtimeForceChart.ActualHeight <= 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
RealtimeForceChart.InvalidateMeasure();
|
||||||
|
RealtimeForceChart.InvalidateArrange();
|
||||||
|
RealtimeForceChart.UpdateLayout();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user