Windows phone 7 如何基于选择创建动态页面?

Windows phone 7 如何基于选择创建动态页面?,windows-phone-7,windows-phone-7.1,windows-phone,Windows Phone 7,Windows Phone 7.1,Windows Phone,我正在尝试根据从主应用程序屏幕中选择的项目动态填充第二个全景页面 在应用程序的第一个开始屏幕上有一个列表框,如果每个项目都有文本。如果用户点击文本为“foobar”的项目,则应加载模板页面,模板页面的标题应设置为“foobar”,并且第二个全景页面应知道其数据应与“foobar”相关 有什么办法可以这样做吗 我当前将主页导航到一个新页面(DynamicPage.xaml)。当ListBox\u SelectionChanged事件发生时,会触发此导航。我将DynampicPage.xaml的标题

我正在尝试根据从主应用程序屏幕中选择的项目动态填充第二个全景页面

在应用程序的第一个开始屏幕上有一个列表框,如果每个项目都有文本。如果用户点击文本为“foobar”的项目,则应加载模板页面,模板页面的标题应设置为“foobar”,并且第二个全景页面应知道其数据应与“foobar”相关

有什么办法可以这样做吗

我当前将主页导航到一个新页面(DynamicPage.xaml)。当ListBox\u SelectionChanged事件发生时,会触发此导航。我将DynampicPage.xaml的标题文本绑定到位于MainPage.xaml.cs中的TitleText变量。但是,执行此操作时,DynamicPage.xaml的标题仅设置为titleText变量的初始化值,即使我在导航到页面之前正在更新此变量


如果有人能提供一些帮助,我将非常感激,因为我只是WP7平台的初学者。谢谢

仅当TitleText属性是依赖属性,或者主页面正在实现INotifyPropertyChanged接口,以便类可以在其属性之一发生更改时通知UI时,您用于标题的绑定才会更新

但我认为这不是你实现这一目标的最佳方式。现在,更好的方法是将数据存储在静态类中的某个位置,在主页的构造函数中,将这些数据加载到列表框中,当用户选择一个项目时,将用户导航到第二个页面,如下所示:

NavigationService.Navigate(new Uri("/DynamicPage.xaml?Item=" + selectedItem.Id, UriKind.Relative));
当您像这样导航时,将创建DynamicPage的新实例,并且在OnNavigatedTo方法中,您可以访问导航参数并使用所选数据填充页面。例如:

<controls:Panorama x:Name="MyPanorama" Title="TitleHere">...</controls:Panorama>

Item selectedItem = StaticData.GetItem(NavigationContext.QueryString["Item"]);
MyPanorama.Title = selectedItem.Name.ToUpper();
Description.Text = selectedItem.Description;
。。。
Item selectedItem=StaticData.GetItem(NavigationContext.QueryString[“Item”]);
MyPanorama.Title=selectedItem.Name.ToUpper();
Description.Text=selectedItem.Description;
通过这种方式,您可以使用辅助互动程序和toast通知直接指向应用程序中的特定内容


如果您要了解导航,您一定要使用名为“模型-视图-视图-模型”的模式,该模式将主要通过绑定解决这些问题,但相信我,这可能是目前比较简单的方法。

谢谢您的回复。我可以使用DynamicPage.xaml.cs文件中的OnNavigated方法传入数据,但是在emulator中呈现该页面时,如何更新该页面上显示的标题?是否有某种方法可以直接从页面的DynamicPage.XAML.cs文件设置页面标题或XAML中定义的其他功能?我可以轻松地将标记绑定到DynamicPage.xaml.cs中定义的变量吗?您可以使用x:name属性中指定的名称访问xaml中定义的控件。我更新了我的答案以显示这一点。希望这有帮助!