我想将string.xaml中的字符串值传递给MainPage.xaml
这是我的代码 的 settings.xaml
Public settings(){
.....
string url = string.Format("/MainPage.xaml?msg1={0}", updateSignature.Text);
NavigationService.Navigate(new Uri(url, UriKind.Relative));}
我的更新。签名是一个文本块
这是我在 MainPage.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("Signature Anda :{0}", msg1);
}
当我构建它并移动到设置页面时,我收到了Navigation_Failed错误。我该怎么办?
答案 0 :(得分:1)
您在SettingsPage.xaml中的代码似乎是在构造函数中。这不是正确的做法。我无法解决你的问题究竟是什么,但我能以简单的方式为你提供解决方案。我在设置page.xaml中的代码是,
<StackPanel>
<TextBlock Name="updateSignature" Text="textinSettingsPage" FontSize="30"/>
<Button Content="GotoMainPage" Click="Button_Click"/>
</StackPanel>
我使用按钮点击处理了这个。这是我在SettingsPage.xaml.cs文件中的代码,
private void Button_Click(object sender, RoutedEventArgs e)
{
string url = string.Format("/MainPage.xaml?msg1={0}", updateSignature.Text);
NavigationService.Navigate(new Uri(url, UriKind.Relative));
}
这是MainPage.xaml中的代码,
<StackPanel>
<TextBlock Name="textBlock1" FontSize="30"/>
<Button Content="Go to settings page" Click="settings_Click" Name="settings"/>
</StackPanel>
最后我的代码是MainPage.xaml.cs,
protected override void OnNavigatedTo(NavigationEventArgs e)
{
string msg1 = "";
if (NavigationContext.QueryString.TryGetValue("msg1", out msg1))
{
textBlock1.Text = String.Format("Signature Anda :{0}", msg1);
}
}
private void settings_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/SettingsPage.xaml", UriKind.RelativeOrAbsolute));
}