C# 在WPF中启动一个事件

C# 在WPF中启动一个事件,c#,wpf,C#,Wpf,我有一个文本框,用于保存从INotifyPropertyChangedMVVM模型获取的数据 我想优化它,例如:当我关闭窗口时,数据不能放在文本框中;当我打开文本框时,它应该会再次开始流动数据 这是我的viewmodel代码: public class serial : NotifyPropertyChanged { private string luminRecevied; public string LuminRecevied { get { ret

我有一个文本框,用于保存从
INotifyPropertyChanged
MVVM模型获取的数据

我想优化它,例如:当我关闭窗口时,数据不能放在文本框中;当我打开文本框时,它应该会再次开始流动数据

这是我的viewmodel代码:

public class serial : NotifyPropertyChanged
{
    private string luminRecevied;

    public string LuminRecevied
    {
        get { return luminRecevied; }
        set 
        {

            if (this.luminRecevied == value)
                return;

            this.luminRecevied = value ;

            this.InvokePropertyChanged("LuminRecevied");

        }
    }
}
 //This is where the Outgoing Ports are Tapped and the data is displayed to the serial Monitor.
 var rawPacket = e.Value as RawPacket; // Data recived from the port after tapped 
 StringBuilder sb = new StringBuilder();

 for (int i = 0; i < rawPacket.RawData.Length; i++)
 {
     sb.Append(rawPacket.RawData[i].ToString("X2"));
 }

 this.serialData.LuminRecevied += "RX:"+sb.ToString() + Environment.NewLine;
这是我的型号代码:

public class serial : NotifyPropertyChanged
{
    private string luminRecevied;

    public string LuminRecevied
    {
        get { return luminRecevied; }
        set 
        {

            if (this.luminRecevied == value)
                return;

            this.luminRecevied = value ;

            this.InvokePropertyChanged("LuminRecevied");

        }
    }
}
 //This is where the Outgoing Ports are Tapped and the data is displayed to the serial Monitor.
 var rawPacket = e.Value as RawPacket; // Data recived from the port after tapped 
 StringBuilder sb = new StringBuilder();

 for (int i = 0; i < rawPacket.RawData.Length; i++)
 {
     sb.Append(rawPacket.RawData[i].ToString("X2"));
 }

 this.serialData.LuminRecevied += "RX:"+sb.ToString() + Environment.NewLine;
//这是点击输出端口并向串行监视器显示数据的地方。
var rawPacket=e.作为rawPacket的值;//抽头后从端口接收的数据
StringBuilder sb=新的StringBuilder();
for(int i=0;i
您必须检查窗口是否打开。如果打开,则调用InvokePropertyChange(“luminReceived”)。您的问题不是很清楚。您想显示串行连接设备的数据,对吗?你能多写些你的模型吗?它缺少一些信息,例如事件的定义以及如何附加它。@jobyjames85 Hi,我该如何处理它。@cosmo0 Hi,是的,我有一个带有文本框的窗口。串行排序的数据不间断地显示在其上。我的疑问是如何控制我的数据流。当我打开窗口时,数据必须开始附加到文本框中,当我关闭窗口时,它必须停止提取数据。