更改WPF中的图像位置

本文关键字:图像 位置 WPF 更改 | 更新日期: 2023-09-27 18:25:04

鼠标悬停时,我正试图更改图像的位置。我有:

<Image 
    Name="cat" 
    Source="CatRun.bmp" 
    Visibility="Hidden" 
    HorizontalAlignment="Center" 
    VerticalAlignment="Center" 
    Width="100" 
    Height="100"
    UIElement.MouseEnter="cat_MouseEnter"/>

在XAML和:中

private void cat_MouseEnter(object sender, MouseEventArgs e)
{
}

在C#中。

如何在画布上具体设置位置?

更改WPF中的图像位置

这里有一个例子:

<Canvas x:Name="canvas">
    <Rectangle x:Name="rect" Width="20" Height="20" Canvas.Left="10" Canvas.Top="10" Fill="Blue" MouseEnter="RectangleMouseEnter" />
</Canvas>

您需要设置附加属性顶部,左侧(或底部,右侧)

    private void RectangleMouseEnter(object sender, MouseEventArgs e)
    {
        Canvas.SetTop(rect, 50);
        Canvas.SetLeft(rect, 50);
    }

为了从后面的代码中设置图像在画布上的位置,您可以使用以下内容:

private void cat_MouseEnter(object sender, MouseEventArgs e)
{
    Canvas.SetLeft(cat, 100); //set x coordinate of cat Image to 100
    Canvas.SetTop(cat, 300); //set y coordinate of cat Image to 300
}

更新:在某些情况下,您可能无法通过该方法按名称访问cat对象。为了使其工作,只需使用发送方对象,该对象应该是导致事件的Image,正如H.B.在评论中所描述的那样。