Windows 10 UWA(图像显示)

本文关键字:显示 图像 UWA Windows | 更新日期: 2023-09-27 18:12:52

我在列表视图中显示图像。当我点击时,我需要在同一应用程序中全屏打开该图像。当用户点击后退按钮时它应该把它带回列表视图。哪个控件或我如何做到这一点(显示图像全屏)。对c#和UWA开发相当陌生。

谢谢

Windows 10 UWA(图像显示)

当我点击时,我需要在同一个应用程序中全屏打开该图像

对于您的需求,一个简单的方法是您可以从ListView导航到第二个页面,并使用ImageControl全屏显示图像。导航代码如下:

 private void Image_PointerPressed(object sender, PointerRoutedEventArgs e)
 {
     Image selectedimage = e.OriginalSource as Image;
     Images select = (Images)selectedimage.DataContext;
     Frame.Navigate(typeof(ShowImage),select);
 }

另一种方法是使用ContentDialog控件来显示带有飞出视觉效果的图像。如果你想全屏显示图像,你需要将ContentDialog的FullSizeDesired属性设置为true。内容对话框代码如下:

<ContentDialog
 ...
   FullSizeDesired ="True" 
   HorizontalAlignment="Stretch"
   Canvas.ZIndex="1" MaxHeight="1920" MaxWidth="1440">
   <Image x:Name="showimage" Source="{Binding ImageUrl}"  Stretch="Fill" Margin="0"></Image>
</ContentDialog>

所以当用户点击后退按钮时它应该把它带回到列表视图

为此,您需要启用系统返回按钮导航,并将其配置为让第二页可以返回主页面。App.xaml.cs中后退按钮的代码如下:
private void App_BackRequested(object sender,
    Windows.UI.Core.BackRequestedEventArgs e)
{
    Frame rootFrame = Window.Current.Content as Frame;
    if (rootFrame == null)
        return; 
    if (rootFrame.CanGoBack && e.Handled == false)
    {
        e.Handled = true;
        rootFrame.GoBack();
    }
}
我对它进行了测试,我上面提供的两个方法都可以通过back按钮返回到ListView。更多细节请参考此处完成的演示,您可以下载进行测试,看看它是否是您想要的。

此外,遵循通用应用程序平台指南来探索更多关于uwp开发的内容。