将连续数据从一个XAML页面传递到另一个Windows 10

本文关键字:Windows 另一个 XAML 一个 数据 连续 | 更新日期: 2023-09-27 18:29:23

我正在尝试从一个xaml页面上的串行设备读取数据,并将其传递给另一个页面。我可以获取数据以转到另一个页面,但不能连续获取。这意味着,例如,如果我使用一个textchanged事件,数据会从第一页传来,但只有一次。这可能是因为数据不会一直变化?有时,在更改之前会多次读取保存值。然而,我也模拟了数据的不断变化,仍然事件只触发一次。我目前正在主页的app.xaml.cs中存储一个字符串值,然后从第二页读取它。我也尝试过一个静态类,它们都有相同的结果。我确信这是一个简单的解决办法,但我想不通。感谢您的帮助。

在主页上我有这个。

  App app = Application.Current as App;
  app.readData = rotAngle.ToString("F2");

这个在下一页上

  private void rawValText_DataContextChanged(FrameworkElement sender, DataContextChangedEventArgs args)
    {            
        App app = Application.Current as App;
        rawValText.Text = app.readData;
    }

但它只在页面加载时触发一次。

将连续数据从一个XAML页面传递到另一个Windows 10

使用事件。为此使用静态类。

在第1页中收到数据时引发事件。

在Page2中写入事件处理程序以接收从Page1激发的事件。

简单!

您似乎未正确使用DataContextChangedEvent。DataContextChangedEvent在DataContext更改时激发。您应该使用适当的Event。您可以查找MVVM并使用INotifyPropertyChanged,也可以按照自己的方式订阅另一个页面上的事件,然后从另一个通知:

如何订阅其他课程';c#中的事件?

从本质上讲,您必须自己对通知进行编码。

编辑:示例MVVM教程:

http://www.codeproject.com/Articles/126249/MVVM-Pattern-in-WPF-A-Simple-Tutorial-for-Absolute

相关文章: