我是WP8 app dev的新手。
情景:
WP应用程序客户端和服务器
应用程序将显示从服务器
来自服务器的响应有两种类型:列表项页面或详细页面。
问题:
当服务器响应列表时,客户端应用必须使用来自服务器的数据创建动态列表页面
当用户单击列表中的项目时,服务器可能会响应列表(续)或此项目的详细信息(用户不知道列表或详细信息)。
请为此案例支持导航后退推荐解决方案? (仅使用来自服务器的对象参数响应创建页面)
首页 - >清单 - >列表 - >列表 - >列表 - >详情页面。
或:开始页面 - >清单 - >详情页面。
答案 0 :(得分:0)
你为什么不这样使用:
有2页,第一个用于列表视图,第二个用于详细信息视图。 基于服务器响应将数据传递到相应的页面,无论您想要什么。您不能动态创建页面并使用它们。
答案 1 :(得分:0)
你的问题不清楚,但我会尽力解决这种模棱两可的问题。如果来自服务器的数据只是 - 数据,那么您不需要动态创建XAML,您应该使用LongListSelector
来显示任意数据列表。当未指定数据量但结构相同时就是这种情况。有关详细信息,请参阅MSDN link。
当您从服务器获取详细信息时,只需使用数据绑定来填充页面上的预定义控件。您始终可以隐藏未使用的控件。
如果来自服务器的数据以无法预先确定的方式更改 UI,例如每个列表看起来完全不同,详细信息页面也是可变的,您应该动态创建XAML。只需创建空页面并在构造函数中添加控件。例如:
// ListPage.xaml
<ScrollViewer>
<StackPanel x:Name="panel">
</StackPanel>
</ScrollViewer>
// ListPage.xaml.cs
public ListPage()
{
InitializeComponent();
foreach(var data in somesource)
{
if (...)
panel.Children.Add(new TextBlock());
else
panel.Children.Add(new TextBox());
// ...
}
}
答案 2 :(得分:0)
不需要创建动态xaml页面。创建三个页面 1.开始页面 2.列表页面 3.Detail Page
在列表页面中使用ListBox控件并将列表框与服务器数据绑定。关于列表框控件的Here和enter link description here很好的解释