Win universal app UWP-根据屏幕大小导航到页面

Win universal app UWP-根据屏幕大小导航到页面,win-universal-app,visualstatemanager,uwp-xaml,Win Universal App,Visualstatemanager,Uwp Xaml,我有一个Windows 8.1应用程序,我正试图将其转换为W10通用平台。在8.1版本的应用程序中,我有一个页面,其中显示了具有一些预览的项目列表。当单击/点击列表中的任何项目时,我会导航到该项目的详细信息页面(请注意,详细信息是一个单独的页面,而不是控件)。现在,在UWP中,我希望在不同的屏幕尺寸上,行为有所不同。对于手机,我仍然希望保留8.1行为。但对于平板电脑和台式机,我希望在屏幕右侧显示细节(无需导航)。我知道如果细节是一个控件,我可以使用Visual State Manager根据屏幕

我有一个Windows 8.1应用程序,我正试图将其转换为W10通用平台。在8.1版本的应用程序中,我有一个页面,其中显示了具有一些预览的项目列表。当单击/点击列表中的任何项目时,我会导航到该项目的详细信息页面(请注意,详细信息是一个单独的页面,而不是控件)。现在,在UWP中,我希望在不同的屏幕尺寸上,行为有所不同。对于手机,我仍然希望保留8.1行为。但对于平板电脑和台式机,我希望在屏幕右侧显示细节(无需导航)。我知道如果细节是一个控件,我可以使用Visual State Manager根据屏幕大小调整细节控件的位置。但是,由于它是一个单独的页面(我已经有了8.1中的代码,所以希望重用相同的代码),有什么方法可以根据屏幕大小在UWP中实现它吗?或者,唯一的方法是将详细信息页面转换为用户控件,并使用Visual State Manager进行操作?

这可能不是一个直接的答案,但可以帮助您提供更多选项

您可以选择进行设备族布局。这需要更多的工作,因为您将复制更多的xaml,但它让您可以自由地完全替换从移动到桌面到Xbox等的视图

基本上,有三种方法可以做到这一点:

文章不错。谢谢实际上,我的xaml在所有平台上都是完全相同的(我的意思是至少在项目列表上是一样的)。它只是显示细节(通过导航到不同的页面或在屏幕右侧显示),根据屏幕大小,细节会有所不同。因此,我不确定在这种情况下使用设备族布局会有什么帮助。我只是在想,基本上可以在移动设备上交换视图,这也可以让您选择不同的视图模型-但是,是的,我知道我的答案很简单。正如你所描述的,我想,除了使用视觉状态管理器,真的没有其他选择。是的,因此视觉状态管理器会根据屏幕大小为我提供调整任何控件位置的选项(比如在网格中,我可以将grid.column of items list和detail控件在手机上设置为0,在平板电脑上设置为0/1)。但在我的例子中,细节是一个单独的页面(不是控件),所以我无法让它与VisualStateManager一起工作。我不得不承认,我对xaml不太在行:)你可以检查屏幕大小并正确导航?但是,在桌面或平板电脑上,我需要在屏幕右侧显示相同的页面。我认为我在这里试图实现的目标毫无意义:)因为我显然无法并排显示两页。所以,也许唯一的选择是在详细信息页面之外创建一个控件,并根据屏幕大小设置详细信息控件的列。这是我今天学到的新东西:)你能在使用Visual State Manager处理类似情况时抛出一些示例代码吗你描述的方式,太棒了。我想这正是我需要的。谢谢