重定向后未更新静态变量
本文关键字:静态 变量 更新 重定向 | 更新日期: 2023-09-27 18:27:38
First Form2想要更新类文件
private void button1_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.Relative));
Class1.AddButton = 1;
Class1.ChiefAnswer = "Done";
}
类文件,表单1从类文件中检索,这意味着我只需要更新类文件,当它从表单2重定向到表单1时,它将重新加载
private static int AddBtn = 0;
public static int AddButton
{
get { return AddBtn; }
set { AddBtn = value; }
}
Form1(未更新,类似乎仍保持旧值)
if (Class1.AddButton == 3)
{
MakeButton();
}
起初,在我开始添加更多的变量并在表2中修改列表后,每个人都很好,但没有效果,这毫无意义。当我在表单2中调试它时,它显示表单2 中的AddButton=3
当调试进行时,我切换到class1.cs,值没有更新(可能不是实时的)
无论如何,当它到达从class1.cs检索的form1时,它并没有检索到我期望的值
谢谢你的帮助!:)
querystring方法
NavigationService.Navigate(new Uri("/PanoramaPage1.xaml?selected=item2", UriKind.Relative));
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
string selected = String.Empty;
//check to see if the selected parameter was passed.
if (NavigationContext.QueryString.ContainsKey("selected"))
{
//get the selected parameter off the query string from MainPage.
selected = NavigationContext.QueryString["selected"];
}
//did the querystring indicate we should go to item2 instead of item1?
if (selected == "item2")
{
//item2 is the second item, but 0 indexed.
myPanorama.DefaultItem = myPanorama.Items[1];
}
base.OnNavigatedTo(e);
}
您可以尝试切换这些语句的顺序,因此在重定向之前进行更新:
Class1.AddButton = 1;
Class1.ChiefAnswer = "Done";
NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.Relative));