Как я могу начать реализовывать управление последовательным портом, используя модель MVVM? - PullRequest
2 голосов
/ 09 октября 2011

Я начинаю создавать этот проект, используя модель MVVM.Но я понятия не имею, как я могу реализовать это с помощью панели инструментов.

Мне нужна небольшая помощь.Это веб-сайт, который я смотрю: http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx

Я думаю, что последней будет модель, я не уверен, что у меня все хорошо:

public class Port : INotifyPropertyChanged, IDataErrorInfo
{
    private SerialPort _serialPort;

    public Port()
    {
        _serialPort = new SerialPort();
    }

    public string PortName
    {
        get { return _serialPort.PortName; }
        set
        {
            _serialPort.PortName = value;
            OnPropertyChanged("PortName");
        }
    }

    public int BaudRate
    {
        get { return _serialPort.BaudRate; }
        set
        {
            _serialPort.BaudRate = value;
            OnPropertyChanged("BaudRate");
        }
    }

    public Parity Parity
    {
        get { return _serialPort.Parity; }
        set
        {
            _serialPort.Parity = value;
            OnPropertyChanged("Parity");
        }
    }

    public int DataBits
    {
        get { return _serialPort.DataBits; }
        set
        {
            _serialPort.DataBits = value;
            OnPropertyChanged("PortDataBits");
        }
    }

    public StopBits StopBits
    {
        get { return _serialPort.StopBits; }
        set
        {
            _serialPort.StopBits = value;
            OnPropertyChanged("PortStopBits");
        }
    }

    public Handshake Handshake
    {
        get { return _serialPort.Handshake; }
        set
        {
            _serialPort.Handshake = value;
            OnPropertyChanged("PortHandshake");
        }
    }

    public string[] AvailablePortNames
    {
        get { return SerialPort.GetPortNames(); }
    }

    #region IDataErrorInfo Members

    string IDataErrorInfo.Error { get { return null; } }

    string IDataErrorInfo.this[string propertyName]
    {
        get { return this.GetValidationError(propertyName); }
    }

Программа состоит в том, что пользователь должен установить, настроить и открыть ее.Мне нужна небольшая помощь о том, как я могу реализовать это с помощью этой модели.Большое спасибо.

enter image description here

1 Ответ

3 голосов
/ 09 октября 2011

Вам потребуется ViewModel, который содержит 1 SerialPort и несколько списков для скоростей передачи, параметров четности и т. Д.

Затем вы можете использовать ComboBox, связать ItemsSource со списком, а SelectedItem - со свойством SerialPort.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...