none
Возврат значения с конструктора page RRS feed

  • Вопрос

  • Здравствуйте!

    Есть две странички: mainpage и page1, для передачи данных с одной на другую пишу такой код:

    Страничка mainpage:
     public partial class MainPage : UserControl
      {
        public MainPage()
        {
          InitializeComponent();
        }
        private void hyperlinkButton1_Click(object sender, RoutedEventArgs e)
        {
          Page1 p = new Page1(5);
        }
      }
    Страничка page1:
     public partial class Page1 : Page
      {
        public Page1()
        {
    
        }
        public Page1(int a)
        {
          InitializeComponent();
          textBlock1.Text = a.ToString();
        }
      }
    
    Почему при переходе на page1 в textBlock1 ничего не выводится?
    

     

    17 апреля 2011 г. 14:10

Ответы

  • Посмотрите статью на мсдн о навигации в silverlight - Общие сведения о переходах

    Передавайте данные с помощью параметра URI:

        private void Link2_Click(object sender, RoutedEventArgs e)
        {
          ContentFrame.Navigate(new Uri("/Page1?text=hello", UriKind.Relative));
        }
    

    В Page1 получаете данные с помощью:

    this.NavigationContext.QueryString["text"];
    

    Если нужно передавать какие-нибудь объекты - то для этого придется делать класс со статическим полем, сохранять в него объект, а потом с любой страницы получать доступ к нему. Как пример можно посмотреть ответ Jeremy-Likness (про класс Container) в топике How to pass information between pages in Silverlight? Use IsolatedStorage or delegates or what

     


    Для связи [mail]
    • Помечено в качестве ответа saiman_OK 18 апреля 2011 г. 18:54
    18 апреля 2011 г. 8:05
    Модератор