更改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#中。
如何在画布上具体设置位置?
这里有一个例子:
<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.在评论中所描述的那样。