我原本以为继承自Screen的子ViewModel会参与到父级Screen的生命周期中,但是事实证明并非如此。例如:
public class ParentViewModel : Screen
{
public ChildViewModel Child { get; set; }
public ParentViewModel(ChildViewModel childViewModel)
{
this.Child = childViewModel;
}
public override void OnInitialize() { // called - as expected }
public override void OnActivate() { // called - as expected }
public override void OnDeactivate() { // called - as expected }
}
public class ChildViewModel : Screen
{
public override void OnInitialize() { // not called - why? }
public override void OnActivate() { // not called - why? }
public override void OnDeactivate() { // not called - why? }
}
子 Screen 是否可以参与父 Screen 的生命周期?
Conductor<T>.Collection.AllActive
。 - JulianM