Поскольку мои пользовательские интерфейсы обычно должны иметь локализованные строки, мои модели просмотра предоставляют все строки, которые потребляют представления. Это включает в себя такие вещи, как названия на кнопках.
на стороне iOS, названия кнопок устанавливаются с помощью метода SetTitle.
Чтобы получить правильное отображение названия строки модели → , MvvmCross выполняет некоторые магические привязки, чтобы заставить это работать хорошо.
Скажем, у меня есть UIButton с именем Foo на мой взгляд, и я хочу отобразить его заголовок на свойство ButtonLabel в моей модели просмотра. Для создания такой привязки известны следующие работы:
this.AddBindings(new Dictionary<object, string>() {
{Foo, "Title ButtonTitle"}
});
Можно ли установить такую же привязку с использованием системы Fluent Binding в MvvmCross? Я читал через источник MvvmCross, и я не совсем получаю код привязки.
Это не работает (потому что на самом деле кнопка не имеет свойства Title - она имеет метод SetTitle):
var set = this.CreateBindingSet<FooView, FooViewModel>();
set.Bind(Foo).For(b => b.Title).To(vm => vm.ButtonTitle);
set.Apply();
Есть ли другой способ добиться желаемого результата с помощью Fluent Bindings?