我正在尝试在使用以下代码切换整数变量时将整数变量从一页传递到另一页:
testPage tp = new testPage();
tp.counter = 3;
this.NavigationService.Navigate(tp);
变量在其自己的页面中声明为public int counter
- 没有值。因此,根据我的测试,它在调用InitializeComponent()
后立即被视为 0,但在执行按钮单击等事件时设置为 3。
这个变量用于构造页面,即创建界面对象,所以我需要在创建页面后立即声明它,或者找到一种方法来延迟页面构建,所以这个变量将设置它的值。我怎样才能做到这一点?
这里有一些方法
- 在 App(应用程序(类上提供该属性作为静态属性,其中两个页面都可以根据需要访问它。
- 让其他页面订阅第一页的 notify 属性,当值更改时,获取它。
- 让特定属性的资源库将信息复制到应用页面上的静态资源或其他页面上的公共属性。 让第一页将对
- 自身的引用传递给第二页上的静态,并让第二页根据需要访问第一页的
public
属性。 - 让两个页面与初始属性共享相同的 VM(视图模型(。
- 确保两个页面具有使用一个 VM 的相同数据上下文。