Я новичок в WPF и хочу создать приложение, которое будет осуществлять последовательную связь с моим драйвером, а из программы я могу установить значения для драйвера.
Мне удалось создать пользовательский интерфейс, как показано на рисунке здесь . Если я нажимаю синий вид, как указано стрелкой, вид моего окна выглядит как this . Если я нажимаю «Red View Option», то дисплей выглядит как this
Кнопка настройки находится там, где стрелка указывает на верхний правый угол (под кнопкой закрытия окна), и при нажатии мое окно будет выглядеть как this .
В основном я изменяю содержимое BIG RECTANGLE в соответствии с кнопкой, которую я нажал, например (прямоугольник синий при нажатии на синий вид, прямоугольник заполнен красным, одна метка и кнопка для изменения метка при нажатии Red View)
Так что теперь моя проблема в том, что я не могу сохранить значение, которое я установил в этом БОЛЬШОМ ПЯТИЧНОМ после того, как я изменил содержимое этого БОЛЬШОГО ПЕРЕНОСА . Например, когда я нажал кнопку настройки и изменил настройку, например this , я готов к обмену данными в COM5, и можно нажать кнопку закрытия порта. Теперь, прежде чем закрыть порт, если я изменю вид BIG RECTANGLE , нажав Красный или Синий вид, затем после нажатия кнопки настройки, у меня больше нет этой возможности, чтобы закрыть порт, и так как я уже открыл порт com5 ранее, поэтому при попытке открыть порт он также выдаст ошибку.
Пожалуйста, помогите мне с этим. Мой обозреватель решений для Visual Studio выглядит следующим образом: this и Мой код в событии нажатия кнопки выглядит следующим образом:
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();
}
}
И мой Solution Explorer выглядит как this