如何在GestureCompleted上获取图像的来源

时间:2012-03-31 05:34:21

标签: c# image windows-phone-7

我想在拖动图像时在手机屏幕上找到图像的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);

有什么方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:1)

如果您知道Source属性为BitmapImage(如果您将URI传递给XAML中Image属性中的Source,可能就是这样)然后你可以使用UriSource:

MessageBox.Show(((BitmapImage)image.Source).UriSource.ToString());

我建议您使用Tag控件的Image属性来存储您需要的信息。从长远来看,可扩展性更强。