0

我有一个带有鼠标按下事件的控件,我想在单击图像时更改图像。但我似乎无法更改事件中的任何图像属性。

事件

    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;
    }

该事件确实会触发,甚至 .Visibility 属性也不会改变图像并使其隐藏。

我究竟做错了什么?

4

1 回答 1

1

假设文件在您的应用程序中,您需要使用Pack URI 方案

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

在上面的示例中,这将指示资源/图像项目中的子文件夹。

于 2009-08-07T14:53:02.780 回答