我在windows phone 8.1应用程序中创建了带代码绑定的自定义列表视图。 Listview中有图像列表。
我的代码就在这里,
public sealed partial class MainPage : Page
{
List<product> abc = new List<product>();
public MainPage()
{
this.InitializeComponent();
helloyouthere();
//arsal is listview name.
arsal.DataContext = abc;
arsal.SelectionChanged += arsal_SelectionChanged;
this.NavigationCacheMode = NavigationCacheMode.Required;
}
public void helloyouthere()
{
abc.Add(new product() { imagepath = "/Assets/21.png" });
abc.Add(new product() { imagepath = "/Assets/22.png" });
abc.Add(new product() { imagepath = "/Assets/23.png" });
abc.Add(new product() { imagepath = "/Assets/24.png" });
abc.Add(new product() { imagepath = "/Assets/25.png" });
abc.Add(new product() { imagepath = "/Assets/26.png" });
abc.Add(new product() { imagepath = "/Assets/27.png" });
abc.Add(new product() { imagepath = "/Assets/28.png" });
abc.Add(new product() { imagepath = "/Assets/29.png" });
abc.Add(new product() { imagepath = "/Assets/30.png" });
}
private async void arsal_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
MessageDialog msgbox2 = new MessageDialog(arsal.SelectedIndex.ToString());
await msgbox2.ShowAsync();
this.Frame.Navigate(typeof(detail), arsal.SelectedIndex);
}
我只是想点击这个,并希望在下一个屏幕上获得完整的图像,
this.Frame.Navigate(typeof(detail), arsal.SelectedIndex);
我的详细信息页面在xaml文件中有一个图像控件, detail.cs页面代码在这里。
public detail()
{
this.InitializeComponent();
MainPage obj = new MainPage();
// "imaged" is my image Control
// How to get Image here
}
我想在这里展示我的形象。
无法在此处获取图片。
我的关于页面Xaml代码在这里
<Grid x:Name="maingrid">
<Image x:Name="imaged" VerticalAlignment="Center" HorizontalAlignment="Center"
Width="360" Height="360" Stretch="UniformToFill" >
</Image>
</Grid>
我没有在about.cs动态获取我的图像源。我给出了确切的代码,我在about.cs文件中尝试过特定的静态源,但每次imaged.source为NULL并显示异常。
答案 0 :(得分:0)
你应该致电
this.Frame.Navigate(typeof(detail), ((product)arsal.SelectedItem).imagepath)
导航到您的详细信息页面。
然后在您的详细信息页面中,您可以使用OnNavigatedTo
方法显示图片:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var imagePath = e.Parameter as string;
// Set to image control ImageSource
imaged.Source = new BitmapImage(new Uri(imagePath, UriKind.RelativeOrAbsolute));
}