Bewegen Sie ein Rechteck auf einer Leinwand in WPF aus dem code hinter

In meiner XAML-ich habe eine listbox und einige Textfelder in einem raster und ein reactangle in eine Leinwand:

Title="MainWindow" Height="350" Width="500" WindowStartupLocation="CenterScreen">
<Grid>
<ListBox HorizontalAlignment="Left"
         Margin="12,12,0,12"
         Name="listBoxContainer"
         Width="120">
    <ListBoxItem Content="Item1" />
    <ListBoxItem Content="Item2" />
    <ListBoxItem Content="Item3" />
</ListBox>

<TextBox Height="23"
         Margin="138,12,85,0"
         Name="textBoxAddress"
         VerticalAlignment="Top" />

<TextBox Margin="138,41,85,12"
         Name="textBoxMsg" />

<Button Content="Button"
        Name="buttonAnimation"
        Width="75"
        Margin="0,10,5,0"
        Height="23"
        VerticalAlignment="Top"
        HorizontalAlignment="Right"
        Click="Button1Click" />

<Canvas Name="CanvasAnimation">
    <Rectangle Canvas.Left="408" 
               Canvas.Top="140" 
               Height="50" 
               Name="rectAnimation" 
               Stroke="Black" 
               Width="50" />
</Canvas>
</Grid>

Aus meinem code hinter, ich kann das Rechteck verschoben aus seiner position zu einer Entfernung:

private void Button1Click(object sender, RoutedEventArgs e)
{
    var trs = new TranslateTransform();
    var anim3 = new DoubleAnimation(0, -200, TimeSpan.FromSeconds(2));
    trs.BeginAnimation(TranslateTransform.XProperty, anim3);
    trs.BeginAnimation(TranslateTransform.YProperty, anim3);
    CanvasAnimation.RenderTransform = trs;
}

Ich würde gerne wissen, wie kann ich verschieben Sie das Rechteck von seiner position zu einer anderen position, die durch Koordinaten? Wie haben Sie das Rechteck verschieben, um die position der listbox oder textbox

Schreibe einen Kommentar