C#WPF想要点击Stackpanel的孩子
发布时间:2020-12-16 00:24:41 所属栏目:百科 来源:网络整理
导读:我正在使用StackPanels.在我的应用程序中,我必须显示具有3到x图像的多重tiff,并且在我点击其中一个之后必须在新窗口中打开它们. 显示它们很简单: public void Bilder_anzeigen(string path){ TiffBitmapDecoder decoder = new TiffBitmapDecoder(new Uri(pa
我正在使用StackPanels.在我的应用程序中,我必须显示具有3到x图像的多重tiff,并且在我点击其中一个之后必须在新窗口中打开它们.
显示它们很简单: public void Bilder_anzeigen(string path) { TiffBitmapDecoder decoder = new TiffBitmapDecoder(new Uri(path),BitmapCreateOptions.PreservePixelFormat,BitmapCacheOption.Default); foreach (var i in decoder.Frames) { Image myImage = new Image(); myImage.Source = i; Stackpanel_Tiff.Children.Add(myImage); } } 但是如何让孩子点击StackPanel?有一个MouseDown事件,但在它被引发后,我不知道我点击了哪个图像.我只知道有一个点击.如何找到点击的图像? 解决方法
您可以使用PreviewMouseDown事件和MouoseButtonEventArgs对象的OriginalSource非常轻松地找到单击的图像:
<StackPanel PreviewMouseDown="StackPanel_PreviewMouseDown"> <Image Source="Images/Add_16.png" Stretch="None" /> <Image Source="Images/Edit_16.png" Stretch="None" /> <Image Source="Images/Copy_16.png" Stretch="None" /> </StackPanel> … private void StackPanel_PreviewMouseDown(object sender,MouseButtonEventArgs e) { if (e.OriginalSource is Image) { string imageSource = ((Image)e.OriginalSource).Source.ToString(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |