Xaml 在Windows8 metro应用程序中导航到backpage后如何将值重新分配给文本框
我在windows8 metro应用程序中创建了两个页面Page1.xaml和Page2.xaml 我在Page1.xaml中创建了一个文本框和超链接。在Page1.xaml的文本框中输入一些文本后,单击该超链接按钮。然后导航到Page2.xaml。在Page2.xaml中,我将显示在Page1.xaml文本框中输入的文本 在这里,在进入Page2.xaml之后,我单击后退按钮进入上一页Page1.xaml。在这里,我想在我之前输入的文本框中显示文本 但我在单击“后退”按钮时出错 您能为我提供在Page1.xaml的文本框中显示文本的解决方案吗Xaml 在Windows8 metro应用程序中导航到backpage后如何将值重新分配给文本框,xaml,windows-8,windows-runtime,microsoft-metro,winrt-xaml,Xaml,Windows 8,Windows Runtime,Microsoft Metro,Winrt Xaml,我在windows8 metro应用程序中创建了两个页面Page1.xaml和Page2.xaml 我在Page1.xaml中创建了一个文本框和超链接。在Page1.xaml的文本框中输入一些文本后,单击该超链接按钮。然后导航到Page2.xaml。在Page2.xaml中,我将显示在Page1.xaml文本框中输入的文本 在这里,在进入Page2.xaml之后,我单击后退按钮进入上一页Page1.xaml。在这里,我想在我之前输入的文本框中显示文本 但我在单击“后退”按钮时出错 您能为我提供在
提前感谢让代码在不同脚本范围内可用的一种方法是使用WinJS名称空间 例如,在page1.js中,您将有:
(function(){
function setText(){
var mytext = "";
WinJS.Namespace.define("page1", {
text: mytext
});
}
})();
在page2.js中,将文本放在该名称空间中:
(function(){
page1.text = "page 2 text!";
})();
回到第1页,您可以稍后检索该值:
(function(){
function setText(){
var mytext = "";
WinJS.Namespace.define("page1", {
text: mytext
});
}
function getText() {
document.querySelector("#myTextField").value = page1.text;
}
})();
我建议对名称空间中的内容更正式一点,但这是一种方法。您能用C#提供解决方案吗。在XAML/C中,它是标准视图模型。使每个页面使用相同的视图模型实例并绑定到相同的属性。或者如果你真的很懒,创建一个静态变量。:)