我试图在短暂延迟后设置MvxViewController视图的标题(我的真实示例是从api调用返回的值中检索页面标题)。
我的观点:
public class TestView : MvxViewController
{
public override void ViewDidLoad()
{
base.ViewDidLoad();
// execute timer after 1 second
Timer timer = new Timer ((state) => {
InvokeOnMainThread(() => {
this.Title = "TITLE";
});
}, null, 1000, int.MaxValue);
}
}
首次导航到视图时标题不会更新,但如果您导航到另一个控制器然后“返回”到该控制器,则会更新标题。显然,如果我在没有计时器的情况下设置标题,它会按预期工作。
我尝试了多种方法来设置视图控制器的标题。他们都没有在计时器中设置标题。
我确定我遗漏了一些基本的东西,比如在视图的生命周期(或mvvmcross)中发生了什么事情,这可能会阻止在调用初始的'viewdidload'之后重新绘制视图?
感谢任何帮助!
编辑:我已经修改了我的问题以删除mvvmcross'viewmodel'以简化问题,但在我的实际示例中,视图的标题是mvx流畅绑定到viewmodel上的属性。