PrimeTSS
PrimeTSS

Reputation: 2713

WPF, Image MouseDown Event

I have an control with a mouse down event where Id like to chnage the Image when the image is clicked. But I cant seem to alter ANY of the images properties in the event.

Event

    private void Image_MouseDown(object sender, MouseButtonEventArgs e)
    {
        BitmapImage bitImg = new BitmapImage();
        bitImg.BeginInit();
        bitImg.UriSource = new Uri("./Resource/Images/Bar1.png", UriKind.Relative);
        bitImg.EndInit();

        ((Image)sender).Source = null;
        ((Image)sender).Width = 100;
        ((Image)sender).Visibility = Visibility.Hidden;
    }

The event does fire, and even the .Visibility property does not alter the image and make it hidden.

What am I doing wrong?

Upvotes: 0

Views: 3456

Answers (1)

Joel Cochran
Joel Cochran

Reputation: 7758

Assuming the file is in your application, you need to use the Pack URI scheme:

        var img = sender as Image;
        BitmapImage bmp = new BitmapImage(new Uri("pack://application:,,,/Resources/Images/Bar1.png"));
        img.Source = bmp;

In the above example, this would indicate a subfolder in your project of Resources/Images.

Upvotes: 1

Related Questions