Dyl*_*lan 3 xamarin.ios monotouch.dialog
我在以下部分中有以下内容:
_favElement = new StyledStringElement (string.Empty);
_favElement.Alignment = UITextAlignment.Center;
if (_room.IsFavourite) {
_favElement.Image = UIImage.FromBundle ("Images/thumbs_up.png");
_favElement.Caption = "Unmark as Favourite";
} else {
_favElement.Image = null;
_favElement.Caption = "Mark as Favourite";
}
_favElement.Tapped += favElement_Tapped;
Run Code Online (Sandbox Code Playgroud)
然后,当我按下元素时,我希望发生以下情况:
private void favElement_Tapped ()
{
if (_room.IsFavourite) {
_favElement.Image = null;
_favElement.Caption = "Mark as Favourite";
} else {
_favElement.Image = UIImage.FromBundle ("Images/thumbs_up.png");
_favElement.Caption = "Unmark as Favourite";
}
_room.IsFavourite = !_room.IsFavourite;
}
Run Code Online (Sandbox Code Playgroud)
但是,当点击元素时,图像和文本在实际元素中不会改变.是否有刷新方法或必须调用的东西?我也试过改变Tapped上的附件,没有任何变化.后面的属性确实反映了正确的值.
重新加载的另一种方法UITableView是重新加载这样的Element使用代码(从Touch.Unit复制):
if (GetContainerTableView () != null) {
var root = GetImmediateRootElement ();
root.Reload (this, UITableViewRowAnimation.Fade);
}
Run Code Online (Sandbox Code Playgroud)
假设你的代码在DialogViewController中,添加它
this.ReloadData();
Run Code Online (Sandbox Code Playgroud)
但在你的情况下,我建议你使用BooleanImageElement
| 归档时间: |
|
| 查看次数: |
1838 次 |
| 最近记录: |