Если вы говорите о WPF, то анимация позиционирования и функции ослабления, вероятно, лучше всего будут обрабатываться с помощью анимации раскадровки xaml.
Большим вопросом будет получение контроля над приложением или элементами управления от другогопроцесс.Предполагая, что у вас есть код для обоих приложений, было бы легче реализовать какую-то межпроцессную связь и позволить собственному процессу переместить свои собственные элементы.NamedPipeServerStream и NamedPipeClientStream позволят вам отправить / получить запрос на изменение местоположения.
В противном случае вы можете захотеть посмотреть на автоматизацию пользовательского интерфейса через AutomationPeers.
http://msdn.microsoft.com/en-us/library/ms747327(v=VS.85).aspx
Введите в приложении следующий xaml:
<Grid>
<Button Name="btnOne" Content="this is test button">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Margin" Value="20" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=PositionCheck,Path=IsChecked}" Value="True" >
<Setter Property="Margin" Value="-150,20,150,20" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
<CheckBox Content="CheckBox" Name="PositionCheck" Visibility="Collapsed" AutomationProperties.AutomationId="chkToggle" VerticalAlignment="Top" />
</Grid>
Вы можете сделать так, чтобы кнопка перепрыгивала из другого приложения, например так:
Process p = Process.GetProcessesByName("ProjectWithButton").FirstOrDefault();
if (p != null)
{
AutomationElement ele = AutomationElement.RootElement.FindFirst(TreeScope.Children, new PropertyCondition(AutomationElement.ProcessIdProperty, p.Id));
if (ele != null)
{
AutomationElement chk= ele.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.AutomationIdProperty, "chkToggle"));
TogglePattern toggle = chk.GetCurrentPattern(TogglePattern.Pattern) as TogglePattern;
System.Diagnostics.Debug.WriteLine(toggle.Current.ToggleState);
toggle.Toggle();
}
}
Вы также можете легко запускать анимацию,или иметь два текстовых поля с координатами для движения.