@@ -47,12 +47,8 @@ class FirstChart extends StatelessWidget {
4747 return SfCartesianChart (
4848 backgroundColor: Colors .white,
4949 zoomPanBehavior: _zoomPanBehavior,
50- onZooming: (ZoomPanArgs args) {
51- if (args.axis! .name == 'primaryXAxis' ) {
52- _secondAxisController! .zoomFactor = args.currentZoomFactor;
53- _secondAxisController! .zoomPosition = args.currentZoomPosition;
54- }
55- },
50+ onZooming: (ZoomPanArgs args) => _updateZoomFactorAndPosition (args),
51+ onZoomEnd: (ZoomPanArgs args) => _updateZoomFactorAndPosition (args),
5652 primaryXAxis: DateTimeAxis (
5753 minimum: DateTime (2023 , 02 , 18 ),
5854 maximum: DateTime (2023 , 08 , 18 ),
@@ -81,6 +77,13 @@ class FirstChart extends StatelessWidget {
8177 ],
8278 );
8379 }
80+
81+ void _updateZoomFactorAndPosition (ZoomPanArgs args) {
82+ if (args.axis! .name == 'primaryXAxis' ) {
83+ _secondAxisController! .zoomFactor = args.currentZoomFactor;
84+ _secondAxisController! .zoomPosition = args.currentZoomPosition;
85+ }
86+ }
8487}
8588
8689class SecondChart extends StatelessWidget {
@@ -97,12 +100,8 @@ class SecondChart extends StatelessWidget {
97100 return SfCartesianChart (
98101 backgroundColor: Colors .white,
99102 zoomPanBehavior: _zoomPanBehavior,
100- onZooming: (ZoomPanArgs args) {
101- if (args.axis! .name == 'primaryXAxis' ) {
102- _firstAxisController! .zoomFactor = args.currentZoomFactor;
103- _firstAxisController! .zoomPosition = args.currentZoomPosition;
104- }
105- },
103+ onZooming: (ZoomPanArgs args) => _updateZoomFactorAndPosition (args),
104+ onZoomEnd: (ZoomPanArgs args) => _updateZoomFactorAndPosition (args),
106105 primaryXAxis: DateTimeAxis (
107106 minimum: DateTime (2023 , 02 , 18 ),
108107 maximum: DateTime (2023 , 08 , 18 ),
@@ -131,4 +130,11 @@ class SecondChart extends StatelessWidget {
131130 ],
132131 );
133132 }
133+
134+ void _updateZoomFactorAndPosition (ZoomPanArgs args) {
135+ if (args.axis! .name == 'primaryXAxis' ) {
136+ _firstAxisController! .zoomFactor = args.currentZoomFactor;
137+ _firstAxisController! .zoomPosition = args.currentZoomPosition;
138+ }
139+ }
134140}
0 commit comments