Я не люблю продолжать сутенерство своих проектов, но в этом случае это лучший вариант для вас.
Выезд https://github.com/RobertKozak/MonoMobile.MVVM
Мой проект начался с добавления поддержки привязки данных в MonoTouch.Dialog, но превратился в гораздо большую платформу, которую гораздо проще использовать, чем MonoTouch.Dialog.
Использование MonoMobile.MVVM кода для выполнения того, что вы хотите, выглядит следующим образом:
public class ButtonView : View, INotifyPropertyChanged
{
private UIColor ButtonColor = UIColor.Red;
[Button]
[Bind("ButtonColor", "BackgroundColor")]
public void Test()
{
ButtonColor = UIColor.Green;
PropertyChanged(this, new PropertyChangedEventArgs("ButtonColor"));
}
public event PropertyChangedEventHandler PropertyChanged = (s,e)=>{};
}
Существуют лучшие способы сделать это, используя надлежащий ViewModel, но это будет работать, как указано в списке (я проверял это, прежде чем набрать его здесь).
MonoMobile.MVVM все еще находится в стадии бета-тестирования, но этого достаточно, чтобы вы могли начать работу. Он должен быть полностью готов к выпуску в ближайшие пару недель после того, как я закончу реализацию INotifyCollectionChanged и добавлю еще несколько привязок для различных свойств элемента.