尝试这样的事情:
在 MainPage.xaml 添加:
<StackPanel>
<Button Content="Image 1" Tag="/Assets/AlignmentGrid.png" Click="ImageButtonClicked" />
<Button Content="Image 2" Tag="/Assets/ApplicationIcon.png" Click="ImageButtonClicked" />
<Button Content="Image 3" Tag="/Assets/Tiles/FlipCycleTileMedium.png" Click="ImageButtonClicked" />
</StackPanel>
(请注意,所有按钮都有相同的事件处理程序)
在 MainPage.xaml.cs 添加:
private void ImageButtonClicked(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(
new Uri("/ImagePage.xaml?path=" +
HttpUtility.UrlEncode((sender as Button).Tag.ToString()),
UriKind.Relative));
}
添加页面 ImagePage.xaml 并向其中添加以下内容:
<Image x:Name="TheImage" />
然后在 ImagePage.xaml.cs
protected override void OnNavigatedTo(NavigationEventArgs e)
{
string path = "";
if (NavigationContext.QueryString.TryGetValue("path", out path))
{
if (!string.IsNullOrWhiteSpace(path))
{
this.TheImage.Source =
new BitmapImage(new Uri(path, UriKind.RelativeOrAbsolute));
}
}
}
这使您可以在 XAML 中定义单击按钮时要在单独页面上显示的图像。
希望这可以帮助。