2014-12-05 54 views
1

在Windows Phone 8.1中,我有一个ListView。我的列表中填充了Observable图片集。在类图片我有pictureName和bitmapImage。 在ListView_Item_Click中,我想单击图片并将其发送到另一个xaml页面。发送位图参数到另一个xaml页面

BitmapImage img = new BitmapImage(); 
img = ((Picture)e.ClickedItem).Image;//imi selectez imaginea care doresc!! 
var image = new Image(); 
image.Source = img; 
Frame.Navigate(typeof(Page2), image); in mainpage.xaml.cs 
+0

究竟是什么问题? – yasen 2014-12-05 07:57:34

回答

1

我不会通过的BitmapImageFrame.Navigate的参数 - 这不是序列化会有一个问题SuspensionManager恢复/暂停事件。

的解决方案取决于您的图片 - 哪里来的 - 如果它是一个文件,那么你可以通过一个路径,文件,然后在OnNavigated(例如),从文件中设置的ImageSource

其他方法可能会设置的BitmapImage在目标页面之前,它的导航到 - 例如使用静态属性:

public class TargetPage : Page, INotifyPropertyChanged 
{ 
    private static BitmapImage bmpImage; 
    public static BitmapImage BmpImage 
    { 
     get { return bmpImage; } 
     set { bmpImage = value; RaisePropertyChanged("BmpImage"); } 
    } 
    // rest of the code 

然后,你可以设置图像导航前:

TargetPage.BmpImage = img; 
Frame.Navigate(typeof(TargetPage)); 

你也应该记住约暂停恢复事件和你的应用程序被终止时的情况,它是暂停。在任何情况下,您都应该记住图像的来源 - 使用SuspensionManager,PageState,设置或其他方法。

相关问题