Я практикую структуру viewModel и привязки данных.Я создаю кнопки и добавляю их в массив, чтобы легко управлять ими с помощью цикла for.Тем не менее, кажется, что я делаю некоторую ошибку, когда я их связываю.
Вот мой код:
public class MyForm : Form
{
private ViewModel viewModel;
private Button[] buttons;
public MyForm (ViewModel viewModel)
{
this.viewModel = viewModel;
InitializeComponent();
buttons = new Button[]
{
button1, button2, button3, ...
};
for (int i = 0; i < buttons.Length; ++i)
{
buttons[i].DataBindings.Add("Text", viewModel, "ButtonText[" + i + "]");
}
}
(...)
}
и В моей ViewModel
public class ViewModel
{
private string[] buttonText;
public string[] ButtonText
{
get
{
return buttonText;
}
}
public ViewModel ()
{
buttonText = new string[]
{
"string1", "string2", "string3", ...
};
}
(...)
}
, когда язапустив его, я получаю ArgumentException
System.ArgumentException: «Невозможно привязать свойство или столбец« ButtonText [0] »в источнике данных.Имя параметра: dataMember '
Как мне изменить привязку, чтобы получить правильное поведение программы?Заранее спасибо!