У меня есть элемент управления, который получен из MT.D StringElement
. Элемент может быть создан пустым/пустым Caption
, который впоследствии обновляется, когда пользователь добавляет текст к другому элементу управления. Caption
- это поле в классе MT.D Element
, и его установка автоматически не обновляет связанный элемент управления. Поэтому, чтобы попытаться обновить элемент управления, я создал свойство, которое обновляет базовое поле, а затем пытается обновить элемент управления.Элемент управления, управляемый строкой, не обновляет подпись
public new string Caption {
get {
return base.Caption;
}
set {
base.Caption = value;
var cell = GetActiveCell();
if (cell != null) {
cell.TextLabel.Text = value;
}
}
}
К сожалению, это не обновление пользовательского интерфейса с новым значением. Используя отладчик, я вижу, что он правильно устанавливает новое значение, но не отображает текст. Если я создаю элемент управления с не пустым Caption
, тогда он будет отображаться правильно. Я использую аналогичный подход, чтобы обновитьуправления, который работает правильно.
private void SetUiState(){
var cell = this.GetActiveCell();
if (cell != null) {
var imgView = cell.ImageView;
if (imgView != null) {
imgView.Image = _isEnabled ? _enabledImage : _disabledImage;
}
cell.SelectionStyle = _isEnabled ? UITableViewCellSelectionStyle.Blue : UITableViewCellSelectionStyle.None;
}
}
Любая идея, почему это не работает для ячейки TextLabel
?
Блестящий, отлично работающий спасибо. –