The current implementation using SynchroVisible and With fails when there is more than three chart to synchronize. So I modified the code and added a central agent to keep in synch more charts. We just need to define an instance of it as a resource:
<Window.Resources>
…
<ddd:MultiChartSynchronizer x:Key="mainSynchro"/>
</Window.Resources>
and then “subscribe” each chart to keep in synch with:
<ddd:ChartPlotter x:Name="price" ddd:SynchroVisible.Axis="X"
ddd:SynchroVisible.Using="{StaticResource mainSynchro}"
LegendVisibility="Hidden" NewLegendVisible="False" Grid.Row="1">
obviously we can have multiple instance of synchronizer object to create more context in which chart align.
You can find and follow this project on Bitbucket.