Я не совсем понимаю, что вы связываете и в какой технологии / среде, но вы определенно не сможете сделать это с массивом.
Это связано с тем, что массивы не сообщают, когда их элементы меняются.
Если вы находитесь в WPF или Silverlight и привязываете свой массив к какому-то списку в пользовательском интерфейсе, попробуйте использовать ObservableCollection.
Если вы находитесь в WinForms и просто привязываете элементы вручную к некоторым элементам управления, вам нужно будет создать оболочки для каждого элемента.
Это просто: просто создайте простой класс, такой как:
public sealed class ValueWrapper : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public ValueWrapper(byte initialValue) {
_value = initialValue;
}
private byte _value;
public byte Value {
get { return _value; }
set {
_value = value;
OnPropertyChanged("Value");
}
}
private void OnPropertyChanged(String name)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
}
Теперь вы хотите преобразовать ваш массив байтов в массив упаковщиков. Это тривиально, если вы используете LINQ:
var values = myBytes.Select(x=>new ValueWrapper(x)).ToArray();
Теперь, связать свойства Value объектов-оболочек, а не байтов (используя класс Binding)
А при изменении этих значений:
values[0].Value = 122;
Ваш пользовательский интерфейс отразит это изменение (из-за INotifyProperyChanged) и покажет это новое значение.
Удачи!