Если вы имеете дело с WPF, вы можете поместить их в одну панель или холст и постоянно применять / обновлять что-либо в свойстве «RenderTransform» панели / холста, содержащей каждый из них. Таким образом,
Transform t = new TranslateTransform(0.0f, 0.0f);
panelA.RenderTransform = t;
panelB.RenderTransform = t;
Затем, используя ваш любимый метод синхронизации, обновляйте t чуть-чуть каждый тик.
Я уверен, что есть более элегантные способы (запеченные XAML-анимации и т. Д.), Но я довольно шаток, давая советы с ними, так как я не совсем уверен, как заставить их работать самостоятельно. =)