Windows phone 7 将图像从一个页面传递到另一个windows phone 7

Windows phone 7 将图像从一个页面传递到另一个windows phone 7,windows-phone-7,Windows Phone 7,我正在尝试将一个页面的图像控件中的图像传递到另一个页面。 例如,我在Page1.xaml中有一个名为“image1”的图像控件,我希望“image1”中显示的图像在Page2.xaml ink canvas中传递/显示。 你能帮我做这件事的编码吗。 谢谢。第一页将图像以文件“photo.jpg”的形式保存到独立存储中。第二页读它 第1页: public partial class Page1 : PhoneApplicationPage { PhotoChooserTask PhotoC

我正在尝试将一个页面的图像控件中的图像传递到另一个页面。 例如,我在Page1.xaml中有一个名为“image1”的图像控件,我希望“image1”中显示的图像在Page2.xaml ink canvas中传递/显示。 你能帮我做这件事的编码吗。
谢谢。

第一页将图像以文件“photo.jpg”的形式保存到独立存储中。第二页读它

第1页:

public partial class Page1 : PhoneApplicationPage
{
    PhotoChooserTask PhotoChooser;
    int ImageWidth, ImageHeight;
    // Constructor
    public Page1()
    {
        InitializeComponent();

        ImageWidth = (int)PageImage.Width;
        ImageHeight = (int)PageImage.Height;

        PhotoChooser = new PhotoChooserTask();
        PhotoChooser.PixelWidth = ImageWidth;
        PhotoChooser.PixelHeight = ImageHeight;
        PhotoChooser.ShowCamera = true;

        PhotoChooser.Completed += new EventHandler<PhotoResult>(PhotoChooser_Completed);
    }

    void PhotoChooser_Completed(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            IsolatedStorageFile Store = IsolatedStorageFile.GetUserStoreForApplication();
            IsolatedStorageFileStream Stream = new IsolatedStorageFileStream("photo.jpg", FileMode.Create, FileAccess.Write, Store);

            WriteableBitmap myImage = new WriteableBitmap(ImageWidth, ImageHeight);
            myImage.SetSource(e.ChosenPhoto);
            PageImage.Source = myImage;
            PageImage.InvalidateArrange();
            myImage.SaveJpeg(Stream, ImageWidth, ImageHeight, 0, 100);

            Stream.Close();
        }
    }

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);

        if (IsolatedStorageFile.GetUserStoreForApplication().FileExists("photo.jpg"))
        {
            IsolatedStorageFile Store = IsolatedStorageFile.GetUserStoreForApplication();
            IsolatedStorageFileStream Stream = new IsolatedStorageFileStream("photo.jpg", FileMode.Open, FileAccess.Read, Store);

            WriteableBitmap myImage = new WriteableBitmap(ImageWidth, ImageHeight);
            myImage.LoadJpeg(Stream);

            PageImage.Source = myImage;
            PageImage.InvalidateArrange();
            Stream.Close();
        }
    }

    private void ToPage2Button_Click(object sender, System.Windows.RoutedEventArgs e)
    {
        NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative));
    }

    private void LoadButton_Click(object sender, System.Windows.RoutedEventArgs e)
    {
        PhotoChooser.Show();
    }
}

顺便问一下,为什么要使用照片选择器任务?这只是生成图像的示例。必须从源中保存图像如果已将图像加载到控件中,则可以使用下一个代码保存图像:“WriteableBitmap ImageToSave=new WriteableBitmap(PageImage,null)”,其中PageImage-您的UIElement。然后使用上面的代码保存并加载到隔离存储
public partial class Page2 : PhoneApplicationPage
{
    int ImageWidth, ImageHeight;

    public Page2()
    {
        InitializeComponent();

        ImageWidth = (int)PageImage.Width;
        ImageHeight = (int)PageImage.Height;
    }

    private void BackButton_Click(object sender, System.Windows.RoutedEventArgs e)
    {
        NavigationService.GoBack();
    }

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);

        if (IsolatedStorageFile.GetUserStoreForApplication().FileExists("photo.jpg"))
        {
            IsolatedStorageFile Store = IsolatedStorageFile.GetUserStoreForApplication();
            IsolatedStorageFileStream Stream = new IsolatedStorageFileStream("photo.jpg", FileMode.Open, FileAccess.Read, Store);

            WriteableBitmap myImage = new WriteableBitmap(ImageWidth, ImageHeight);
            myImage.LoadJpeg(Stream);

            PageImage.Source = myImage;
            PageImage.InvalidateArrange();
            Stream.Close();
        }
    }
}