【问题标题】:C# and XAML pass button Click String to another page textblockC# 和 XAML 传递按钮单击字符串到另一个页面文本块
【发布时间】:2014-04-13 18:28:10
【问题描述】:

我正在尝试将字符串传递给不同 xaml 页面中的文本块

我有一个页面 (Gender.xaml),其中有两个按钮(男性和女性),当用户单击该按钮时,它将打开另一个问题页面。

我正在尝试在 question.xaml 页面顶部的标签 TextBlock 中显示用户选择的按钮的性别。

在其他 Questions.xaml 页面中传递/显示字符串值的代码是什么

这是我目前在 Gender.xaml 页面中的内容

  private void MaleButton_Click(object sender, RoutedEventArgs e)
    {
        NavigationService.Navigate(new Uri("/Questions.xaml", UriKind.Relative));
        GenderLabel.Text = string.Format("Male");

    }

  private void FemaleButton_Click(object sender, RoutedEventArgs e)
    {
        NavigationService.Navigate(new Uri("/Questions.xaml", UriKind.Relative));
        GenderLabel.Text = string.Format("Female");

    }

感谢任何帮助或建议

【问题讨论】:

    标签: c# xaml


    【解决方案1】:

    工作方式如下

    string gender = "Male"; // or "Female";
    NavigationService.Navigate(new Uri("/Questions.xaml?gender=" + gender, UriKind.Relative));
    

    在 Questions.xaml.cs 你有:

    override void OnNavigatedTo(NavigationEventArgs e)
    {
        string gender = e.Uri.OriginalString.Replace("/Questions.xaml?gender=","");
        //you do what you want with gender;
    
    }
    

    【讨论】:

      【解决方案2】:

      像这样导航:

      this.Frame.Navigate(typeof(Questions),"female");
      

      在导航页面上

      protected override void OnNavigatedTo(NavigationEventArgs e)
          {
              string gender = e.Parameter.ToString();
          }
      

      【讨论】:

      • 这指的是 Windows 8,但在他的示例中,您可以看到 Navigate 需要 Uri 女巫意味着它是 Windows Phone
      猜你喜欢
      • 1970-01-01
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 1970-01-01
      • 2021-08-19
      • 2017-07-19
      相关资源
      最近更新 更多