我正在使用Windows通用应用程序10(c#/ xaml),我创建了一个“NavigationContext”类来将数据从页面传递到另一个页面,但我不确定如何传递图像(从文件中选取)到另一页。
private async void tt3_Tapped(object sender, Windows.UI.Xaml.Input.TappedRoutedEventArgs e)
{ openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
openPicker.FileTypeFilter.Add(".jpg");
openPicker.FileTypeFilter.Add(".jpeg");
openPicker.FileTypeFilter.Add(".png");
StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null)
{var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
var bitmapImage = new Windows.UI.Xaml.Media.Imaging.BitmapImage();
await bitmapImage.SetSourceAsync(stream);
img.Source = bitmapImage;
var decoder = await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(stream); }}
点击事件以导航到下一页并传递数据
private void fw_Click(object sender, RoutedEventArgs e)
{
NavigationContext nav = new NavigationContext()
{
Latitude = lat.Text;
//code to pass image
};
Frame.Navigate(typeof(Description), nav);}
我应该把什么放在navigationcontext类上?
class NavigationContext
{
public String Latitude { get; set; }
// image attributes
}
答案 0 :(得分:0)
最安全的做法是在上下文中传递StorageFile对象并在目标页面上执行图像处理。或者,使用FileIO.ReadAsync从文件中提取数据,然后传递。这样你就可以按照自己的意愿重复使用它。