我是 WPF 新手,想构建一个应用程序,它将与我的驱动程序进行串行通信,并且我可以从程序中为驱动程序设置值。
我已经设法制作了一个如图所示的UI。如果我最后按箭头所指的蓝色视图,我的窗口视图是这样的。如果我按下红色视图选项,那么显示就像这个 设置按钮是箭头指向右上角(窗口关闭按钮下方)的位置,按下时我的窗口将如下所示。
基本上我正在根据我按下的按钮更改BIG RECTANGLE内容(例如,单击蓝色视图时矩形为蓝色,矩形填充红色和一个标签,单击红色视图时更改标签的按钮)
所以现在我的问题是,在我更改了这个 BIG RECTANGLE 的内容后,我无法保留我在这个BIG RECTANGLE中设置的值。例如,当我按下设置按钮并像这样更改设置时,我已准备好在 COM5 中进行通信,并且可以按下关闭端口的选项。现在在关闭端口之前,如果我通过按下红色视图或蓝色视图来更改BIG RECTANGLE的视图,然后在按下设置按钮之后,我就没有关闭端口的选项了,因为我之前已经打开了 com5 端口所以当我尝试打开端口时,它也会给我错误。
请帮我解决一下这个。我的 Visual Studio 解决方案资源管理器看起来像这样,我在按钮单击事件中的代码如下:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void SerialPortOnOFFButton_Clicked(object sender, RoutedEventArgs e)
{
MessageBox.Show("ON OFF Clicked");
}
private void SerialPortSettingButton_Clicked(object sender, RoutedEventArgs e)
{
DataContext = new SerialPortSettingView();
}
private void RedViewButton_Clicked(object sender, RoutedEventArgs e)
{
DataContext = new Redview();
}
private void BlueViewButton_Clicked(object sender, RoutedEventArgs e)
{
DataContext = new Blueview();
}
}
我的解决方案资源管理器看起来像这样