Как перенаправить данные класса на страницу xaml? - PullRequest
2 голосов
/ 07 мая 2019

У меня возникает проблема при переносе данных из класса на страницу xaml. В моей консоли данные отображаются в классе, но они не переходят на страницу xaml в UWP

var commonCheckValues = new CommonCheckValues();
     if (!Common.GetCommonCheckVars(commonCheckValues))
         return;
var data = new PrintableReceiptData
       {
          TerminalName = commonCheckValues.Session.TerminalName,
          TableNumber = commonCheckValues.Order.Model.TableName,
         };

Frame frame = new Frame();
      frame.Navigate(typeof(demoProject.Scenario1Basic), data);
      Window.Current.Content = frame;
      Window.Current.Activate();

Итак, он показывает данные в переменную данных, но когда я пытаюсь передать их в качестве параметра, он не получает значения на странице Scenario1Basic.

Любое предложение приветствуется.

1 Ответ

0 голосов
/ 08 мая 2019

Как перенаправить данные класса на страницу xaml?

Когда вы перемещаетесь с параметром, вы можете получить параметр на странице назначения OnNavigatedTo методом, подобным следующему.

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    var parameter = e.Parameter;
}

Вы также можете перенаправить данные с помощью MessagingCenter, которые создают базу для модели публикации-подписки

Page1-> Page2

Page2 необходимо подписаться на класс Page1.

Page2

MessagingCenter.Subscribe<Page1, string>(this, "Tag", async (s, arg) =>
{
   await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        textblock.Text = arg;
    });

});

Page1

MessagingCenter.Send<Page1, string>(this, "Tag", "string parameter");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...