Как передать строки с одной страницы на другую в этом приложении C # с помощью кнопки? - PullRequest
0 голосов
/ 15 декабря 2011

В моем MainPage.xaml: область и 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 (Area).Что я должен сделать, чтобы передать btu.ToString () textBlock2.text?

Ответы [ 2 ]

0 голосов
/ 15 декабря 2011

вы можете сделать только один звонок на Navigate.Таким образом, вам нужно будет передать оба этих параметра в навигационный вызов, например,

new Uri( "/SolutionPAge.xaml?msg1=blah&msg2=blah", UriKind.Relative);

, а затем проанализировать его за один вызов в OnNavigatedTo

, если только один из них изменится, просто передайте только одно из этих значений в строке запроса.

0 голосов
/ 15 декабря 2011

Вы должны сделать запрос навигации один раз и добавить к нему оба значения.

string url = string.Format("/SolutionPage.xaml?msg1={0}&msg2={1}", area.toString(), btu.toString());
NavigationService.Navigate(new Uri(url, UriKind.Relative));

А в вашем OnNavigatedTo вызывать базовую версию только один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...