私は2つのWPFフォーム(メインとブックタイム)を持っています。アプリケーションが接頭辞「EMPXXXX」を持つシリアル ポートから従業員データを受信するとすぐに、メイン フォームが呼び出しを処理し、UI を更新します。ユーザーには、その日のログに基づいて「ジョブの開始」と「ジョブの切り替え」の 2 つのボタンが表示されます。ここで、ユーザーはスタート ボタンまたはスイッチ ボタンのいずれかを押すと、時間予約画面が表示されます。ユーザーは、「JOBXXXX」というプレフィックスが付いた JOB シートをスキャンします。予約時間画面は、テキスト ボックスにジョブ コードを表示し、ユーザーがボタン画面で「はい」または「いいえ」ボタンを押すとデータベースを更新する必要があります。
2つのWPFフォーム間で受信データを共有し、「EMP」または「JOB」プレフィックスに基づいて更新する適切な方法を教えてください。
serialdatareceive イベントでデータを受け取り、接頭辞に基づいて適切な処理メソッドを呼び出す共通クラスを作成することを考えていました。
Class SerialDataReceive {
Serialport SP = new serialport("COM1",9600);
SP.DataReceived += New SerailPortDataReceiveHandler(DataReceiveHandler);
}
private voif SerialPortDataReceiveHandler(object sender, serialdatareceiveeventArg e)
{
SerialPort SP1 = new serialport(sender);
sCommdata = Sp1.ReadExisting();
If(ScommData.substring(0,3)== "EMP")
{
//call the function in Main form
}
else
{
// call function in BookTime.XAML.Cs and update the UI
}
}
}
これは実行可能な解決策ですか?