![](/img/trans.png)
[英]How can I pass a file/file path from one Button_Click event to another in C#?
[英]How do i pass strings from one page to another in this C# app using a button?
在我的MainPage.xaml中:area和btu在按钮函数中具有值,我将其更改为字符串。
private void button1_Click(object sender, RoutedEventArgs e)
{
...
area.ToString();
btu.ToString();
NavigationService.Navigate(new Uri("/SolutionPage.xaml?msg1=" + area, UriKind.Relative));
NavigationService.Navigate(new Uri("/SolutionPage.xaml?msg2=" + btu, UriKind.Relative));
}
然后,在page1.xaml中,我有:
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string msg1 = "";
if (NavigationContext.QueryString.TryGetValue("msg1", out msg1))
{
textBlock1.Text = String.Format("Area:{0}", msg1);
}
base.OnNavigatedTo(e);
string msg2 = "";
if (NavigationContext.QueryString.TryGetValue("msg2", out msg2))
{
textBlock2.Text = String.Format("BTU:{0}", msg2);
}
}
问题是只有textBlock1更改(区域)。 我应该怎么做才能将btu.ToString()传递给textBlock2.text?
您应该发出一次导航请求,并将两个值都附加到它。
string url = string.Format("/SolutionPage.xaml?msg1={0}&msg2={1}", area.toString(), btu.toString());
NavigationService.Navigate(new Uri(url, UriKind.Relative));
并且在您的OnNavigatedTo
,仅调用一次基本版本。
您只能打一个电话给Navigate
。 因此,您需要将这两个参数都传递给导航调用,例如
new Uri( "/SolutionPAge.xaml?msg1=blah&msg2=blah", UriKind.Relative);
然后在一次对OnNavigatedTo
调用OnNavigatedTo
其解析
如果只有一个更改,则只需在查询字符串中传递这些值之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.