В моем проекте Xamarin студии на Mac, я использую MvvmCross версию 3.0.13 из MvvmCross-Binaries, в XS-IOS-Mac релиз сборки, и я пытаюсь пару мой CrossUI Dialog на основе Просмотр с соответствующими ViewModel. В частности, я определяю Root
в моем диалоговых так:Неспособность связать StringElement.Visible с логическое свойство в ViewModel
var bindings = this.CreateInlineBindingTarget<ViewModel>();
Root = new RootElement("New Connection") {
new Section {
new StringElement("Test")
.Bind(bindings, element => (object)element.SelectedCommand, vm => vm.TestConnection)
},
new Section {
new StringElement ("Add")
.Bind (bindings, element => element.Visible, vm => vm.CanAddConnection)
.Bind (bindings, element => (object)element.SelectedCommand, vm => vm.AddConnection)
}
};
В ViewModel, CanAddConnection
устанавливается в true
команде TestConnection
, если проверка прошла успешно.
Когда я запускаю это (в IOS Simulator) и откройте диалоговое окно, отображается кнопка Test и Добавить кнопка скрыта (как предполагалось). При нажатии на кнопку, и проверка прошла успешно, то Добавить кнопку, однако, не отображается, но вместо этого я получаю это сообщение на выходе приложения:
Как это случилось - CurrentAttachedCell является дочерним Беспоставочной -UITableView
Почему моя видимая привязка не работает?
Насколько я могу сказать, что я не сделал каких-либо код настройки вверх по течению, что привело бы к this failure в коде (но я мог бы быть что-то отсутствует).
Если я связываю CanAddConnection
с другим свойством элемента, например Caption
, булевское значение должным образом обновляется в представлении.
Я фактически сам нашел эту страницу раньше, когда искал эту проблему, но я не мог сразу понять, что это связано с моей проблемой. Пока я буду лучше ждать релиза 3.0.14, а не создавать и создавать сборки патчей, но, во всяком случае, спасибо, @Stuart за помощь в решении этой проблемы. –
Horray, это работает в версии 3.0.14-beta2 :-) Спасибо, @Stuart! –