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