我想在拖动图像时在手机屏幕上找到图像的URI。
我在屏幕上有很多图像,我需要知道哪一个被拖动,我可以很容易地从图像的文件名中找到它,因为它们被命名为A.png, B.png and so on
。
private void OnGestureCompleted(object sender, Microsoft.Phone.Controls.GestureEventArgs e){
Image image = sender as Image;
TranslateTransform transform = image.RenderTransform as TranslateTransform;
//storing the final values after the gesture is complete
xFin = (e.GetPosition(null).X);
yFin = (e.GetPosition(null).Y);
//failed attempts to convert adress to string
MessageBox.Show(image.Source.ToString());
}
返回System.Windows.Controls.Image
。
另一方面,这引发了一个异常,表明ConvertToString尚未实现。
ImageSourceConverter convertor = new ImageSourceConverter();
string location = convertor.ConvertToString(image);
MessageBox.Show(location);
有什么方法可以做到这一点吗?
答案 0 :(得分:1)
如果您知道Source
属性为BitmapImage
(如果您将URI传递给XAML中Image
属性中的Source
,可能就是这样)然后你可以使用UriSource:
MessageBox.Show(((BitmapImage)image.Source).UriSource.ToString());
我建议您使用Tag
控件的Image
属性来存储您需要的信息。从长远来看,可扩展性更强。