我正在创建一个UWP应用程序,在我的应用程序中,我想要一个像默认邮件应用程序的结构,其中有一个Listview,其中包含所有邮件的列表,当用户点击它在其右侧打开的邮件时。
我读到了关于RelativePanel并尝试在我的应用程序中使用它,它现在运行良好,下面是我正在使用的xaml:
<RelativePanel Grid.Row="1">
<Frame x:Name="listFrame"
Width="600"
Height="500"/>
<Frame x:Name="contentFrame"
RelativePanel.RightOf="listFrame"
Width="600"
Height="500" />
</RelativePanel>
对于平板电脑/ PC,它运行良好,当我在移动视图中打开它时,它通过将contentFrame置于底部自动进行调整,但我担心的是我应该将它用于移动视图吗?因为保留contentFrame是没有意义的,因为用户不应该在移动视图中查看内容,因为我应该点击任何项目,而不是只有内容视图可见,listview将崩溃,类似于Mail App。
我不知道应该采用哪种方式,我是否需要为PC和移动设备创建不同的用户界面,或者我可以在SDK中使用哪些内容?
我是UWP的新手,所以我不知道我可以选择多少选项。
答案 0 :(得分:1)
有多种方法可以处理多个设备的多视图。
为每个设备系列创建差异视图(XAML文件)。当xaml在设备系列之间发生显着变化时,请使用此功能。
使用自适应触发器更改可见性或重新流动您的XAML,将其与x:DeferLoadStrategy="Lazy"
一起使用以获得更好的性能,因为在您更改触发器的可见性之前,元素不会被初始化
检查后面的代码中的设备系列并做出相应的反应
答案 1 :(得分:0)
您正在寻找的是“Master-Detail”。
在windows-universal-sample git repo中有一个样本 - &gt; Master/Detail sample
下载示例,运行它并查看代码。我认为这是一个很好的起点。