gpt4 book ai didi

windows-phone-7 - 在 Windows Phone 上从多个页面更新控件

转载 作者:行者123 更新时间:2023-12-04 07:07:31 26 4
gpt4 key购买 nike

所有,我是 Windows 7 Phone 的新手。我的情况是我有一个主页,其中包含一个 ScrollViewer,而后者又包含一个 StackPanel。我想用多个子 StackPanel(在运行时)填充此 StackPanel,这些子 StackPanel 用于保存图像缩略图、超链接和一些关于图像的基本信息。

当我从主页执行此操作时一切都很好,但我想知道如何更新此控件(位于主页上),但是从主页以外的任何页面更新。我想知道从另一个页面更新页面控件(如上文所述)的最佳做法是什么。

显然有很多方法可以在页面之间传递数据

PhoneApplicationService.Current.State["yourparam"] = param
NavigationService.Navigate(new Uri("/view/Page.xaml", UriKind.Relative));

然后在其他页面简单

var k = PhoneApplicationService.Current.State["yourparam"];

还有很多其他的。但是从不同页面更新通用控件的最佳做法是什么?

注意:页面之间的数据访问和传递有很多问题。

  1. Passing data from page to page
  2. How to pass the image value in one xaml page to another xaml page in windows phone 7?
  3. Passing image from one page to another windows phone 7

等等。这不是我要问的。

最佳答案

如果我对您的问题的理解正确,那么您正试图从另一个页面(例如 Page2.xaml)更新一个打开的控件(例如 MainPage.xaml)。

据我所知,没有办法从另一个页面访问页面控件,而且对于我能想到的情况来说,这似乎是不必要的。

用于实现您正在尝试的方法通常是通过触发一个 Action (如按下按钮)并将参数传递给您正在尝试更新控件的页面来完成的。在该页面的 onnavigatedto 事件(或 View 模型构造函数,如果您使用的是 MVVM 模式)上,根据传递的参数更新您的控件。

如果您的更新是基于数据的,那么最佳做法是绑定(bind)一个可观察的集合或一个扩展 INotifyPropertyChanged 的​​对象(基本上是任何可以表示其属性之一已更改为 ui 的对象)并根据以下内容更改数据传递的参数。

如果这两个页面以某种方式同时可见,并且它们之间不需要导航(例如 ui 的弹出窗口或滑动菜单),那么您可以将在弹出窗口中显示的页面设为用户控件,并且通过 this.Parent 访问父控件。

如果您提供有关应用流程的更多细节,我会更有帮助。

关于windows-phone-7 - 在 Windows Phone 上从多个页面更新控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10041702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com