小编use*_*465的帖子

Caliburn.Micro - 当视图变得可见时做某事

我目前正在进入WPF和Caliburn.Micro,现在没有像MEF或Autofac这样的东西.

现在我正试图在视图变得可见之后立即在视图模型中执行一些代码.

在相关教程中,此代码在显示视图之前显示消息框:

protected override void OnActivate() 
{   
    MessageBox.Show("Page Two Activated"); //Don't do this in a real VM.   
    base.OnActivate();   
}  
Run Code Online (Sandbox Code Playgroud)

艾森伯格先生然后写道:

请记住,如果您有任何依赖于已加载视图的激活逻辑,则应覆盖Screen.OnViewLoaded而不是/与OnActivate结合使用.

这就是我所拥有的:

protected override void OnViewLoaded(object view)
{
    base.OnViewLoaded(view);
    MessageBox.Show("OnPageTwoViewLoaded");
}
Run Code Online (Sandbox Code Playgroud)

我也通过Grid EventTrigger和cal:ActionMessage尝试了它.但在所有三种情况下,MessageBox在视图可见之前出现.

当然我错过了什么,我做错了什么?

wpf caliburn.micro

6
推荐指数
1
解决办法
4387
查看次数

标签 统计

caliburn.micro ×1

wpf ×1