Win10 UWP C#:访问变量形成另一个类/视图

时间:2016-02-20 17:31:32

标签: c# .net windows win-universal-app

我目前正在阅读Win10中的串行通信。我使用这种方法:

https://ms-iot.github.io/content/en-US/win10/samples/SerialSample.htm

但是,我现在想要从另一个视图访问SerialInput流。 (除了MainPage)。

public byte[] rxbytes = new byte[06];
...
        private async Task ReadAsync(CancellationToken cancellationToken)
    {
        Task<UInt32> loadAsyncTask;

    uint ReadBufferLength = 24;

    // If task cancellation was requested, comply
    cancellationToken.ThrowIfCancellationRequested();

    // Set InputStreamOptions to complete the asynchronous read operation when one or more bytes is available
    dataReaderObject.InputStreamOptions = InputStreamOptions.Partial;

    // Create a task object to wait for data on the serialPort.InputStream
    loadAsyncTask = dataReaderObject.LoadAsync(ReadBufferLength).AsTask(cancellationToken);

    // Launch the task and wait
    UInt32 bytesRead = await loadAsyncTask;
    rxbytes= new byte[bytesRead];
    dataReaderObject.ReadBytes(rxbytes);


}

如果我想将所有代码写入一个视图,这基本上是完美的。但我需要访问&#34; rxbytes&#34; -array才能处理传入的数据。

一种选择是:

this.AppFrame.Navigate(typeof(page2), rxbytes);

这种方法在第二页上给了我六个空字节。 getter和setter方法也不是一个选项,因为变量不是静态的。

还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

有一些选择。

您可以将所有数据保存在应用程序的存储空间中,之后您只需要获取所有已保存的数据。

https://msdn.microsoft.com/library/windows/apps/windows.storage.applicationdata.localsettings.aspx

另一种方法是创建一个静态类,您可以在属性中保存数据并在第二个视图中获取数据。