Изменение местоположения изображения в WPF - PullRequest
2 голосов
/ 18 февраля 2012

Я пытаюсь изменить местоположение изображения при наведении курсора мыши.У меня есть:

<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 #.

Как я могу установить местоположение конкретно на холсте?

Ответы [ 2 ]

4 голосов
/ 18 февраля 2012

Вот пример:

<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);
    }
1 голос
/ 18 февраля 2012

Чтобы установить положение изображения на холсте из-за кода, вы можете использовать что-то вроде:

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, который вызвал событие, как HB описал в своем комментарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...