Dan*_*ite 50
当串口接收数据时,我使用事件来发出信号.
这是我的界面.
public interface ISerialPortWatcher
{
event EventHandler<ReceivedDataEventArgs> ReceivedData;
event EventHandler StartedListening;
event EventHandler StoppedListening;
SerialPortSettings PortOptions { set; }
bool Listening { get; set; }
void Stop();
void Start();
}
public class ReceivedDataEventArgs : EventArgs
{
public ReceivedDataEventArgs(string data)
{
Data = data;
}
public string Data { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
And*_*erd 18
.NET框架中的一个很好的例子是INotifyPropertyChanged接口.此接口只包含一个成员:PropertyChanged事件.
在WPF中,您可以声明控件将显示对象实例的特定属性.但是,如果底层属性发生变化,该控件将如何更新?
如果绑定对象实现了INotifyPropertyChanged接口,则WPF框架可以只监听PropertyChanged并进行适当更新.
And*_*ith 13
这是一个例子
public interface IMainAppWindow
{
event EventHandler Closed;
}
// version 1 main window
public MainForm : Form , IMainAppWindow
{
}
// version 2 main window
public MainWindow : Window , IMainAppWindow
{
event EventHandler Closed;
public void OnClosed(object sender,RoutedEventArgs e)
{
if(Closed != null)
{
Closed(this,e);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的一个应用程序中有一些这样的代码.该应用程序是用winforms编写的,然后升级到WPF.