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;
在上面的例子中,这将表明在资源/图片的项目的子文件夹。
嗯 不过并没有改变,我有一个文件夹/Images/Bar1.pgn在Bar1.png并其属性设置为资源 如果我deliberatly拼小姐的形象barx.png和exeption抛出说它不能找到它,所以我知道它在资源中找到它...只是不实际更新图像到新的 – PrimeTSS 2009-08-07 15:06:28
再次看着你的代码,你是源代码设置为null。我没有看到你将BitmapImage应用到Source的位置? – 2009-08-07 15:13:15
APPOLOGIES !!!!!!!!我发现了为什么。 我在这个控件上有两个模板,一个是“Selected”模板,我没有在这个模板上设置鼠标按下事件。 即使事件发生,我认为选定的模板写了非选定的模板,可能chnaged位图,但没有活足够长的时间显示,并被选定的模板覆盖..... Thankyou! – PrimeTSS 2009-08-07 15:14:47