Windows 10 UWA(图像显示)

时间:2016-10-13 16:25:59

标签: c# windows windows-10-universal

我在列表视图中显示图像。当我点击然后我需要在同一个应用程序中全屏打开该图像。因此,当用户单击后退按钮时,它应该将其带回列表视图。哪个控件或我该怎么做(全屏显示图像)。相当新的c#和UWA开发。

谢谢

1 个答案:

答案 0 :(得分:3)

  

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

根据您的要求,一种简单的方法是您可以从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代码如下:

<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>
  

因此,当用户点击后退按钮时,它应该将其带回列表视图。

为此,您需要启用系统back button导航并将其配置为让第二页可以返回主页面。 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();
    }
}

我测试了它,我上面提供的两种方法都可以通过后退按钮返回ListView。更多细节请参考完整的演示here,您可以下载测试以查看它是否是您想要的。

此外,在universal application platform guide之后探索有关uwp开发的更多信息。