前提条件
・VisualStudio 2019
・.NET 5
・prism 8.1.97
やりたいこと
ソフトが立ち上がった時点からシリアルポートを開けて、シリアル通信を行いたいです。そのときに、画面が切り替わったとしても切断されずに切り替わった先の画面でも共有できるようにしたいです。
現在、SerialPort_SampleのMainWindow.xamlにViewのViewsの中のxamlを表示しています。初めに、Start.xamlが表示され、ボタンを押すことでConfig.xamlに遷移します。そこで、SerialPort_SampleのMainWindow.xamlのコードビハインドにSerialPortを開けて通信するような処理を追加しています。このSerialPortをStart.xamlやConfig.xamlのコードビハインドかViewModelで扱いたいと考えています。
ただ、プロジェクトViewのStart.xaml.csにSerialPortを記述してもエラーになります。UsingやSerialPortを定義したSerialPort_Sampleから書き始めても同様にエラーになります。
また、プロジェクトSerialPort_SampleではプロジェクトViewを参照しているのですが、プロジェクトViewではプロジェクトSerialPort_Sampleは循環してしまうので、できていない状態です。
using System; using System.Windows; using System.Windows.Threading; using System.Windows.Controls; using System.IO.Ports; namespace SerialPort_Sample.Views { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } public static SerialPort serialPort = new SerialPort(); private void Window_Loaded(object sender, RoutedEventArgs e) { try { serialPort.PortName = "COM3"; serialPort.BaudRate = 9600; serialPort.Parity = Parity.Odd; serialPort.DataBits = 8; serialPort.StopBits = StopBits.One; serialPort.Handshake = Handshake.None; serialPort.NewLine = "\r"; serialPort.ReadTimeout = 500; serialPort.Open(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } }
調べたこと
DIコンテナが近いのかなと感じました。ただ、シリアルポートを登録して使うことができるのかわかりませんでした。
言葉足らずの箇所があるかと思いますが、よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー