WPF,Image MouseDown事件

问题描述:

我有一个鼠标按下事件的控件,其中Id在点击图像时喜欢点击图像。但我似乎无法改变事件中的任何图像属性。WPF,Image MouseDown事件

事件

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属性不改变的图像,并隐藏它。

我在做什么错?

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

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

在上面的例子中,这将表明在资源/图片的项目的子文件夹。

+0

嗯 不过并没有改变,我有一个文件夹/Images/Bar1.pgn在Bar1.png并其属性设置为资源 如果我deliberatly拼小姐的形象barx.png和exeption抛出说它不能找到它,所以我知道它在资源中找到它...只是不实际更新图像到新的 – PrimeTSS 2009-08-07 15:06:28

+0

再次看着你的代码,你是源代码设置为null。我没有看到你将BitmapImage应用到Source的位置? – 2009-08-07 15:13:15

+0

APPOLOGIES !!!!!!!!我发现了为什么。 我在这个控件上有两个模板,一个是“Selected”模板,我没有在这个模板上设置鼠标按下事件。 即使事件发生,我认为选定的模板写了非选定的模板,可能chnaged位图,但没有活足够长的时间显示,并被选定的模板覆盖..... Thankyou! – PrimeTSS 2009-08-07 15:14:47