親ビューのライフサイクルに参加する子ビューモデルがScreenから継承されると予想しました。しかし、これはそうではないようです。例:OnInitializeとOnActivateが子ビューモデルで呼び出されない
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? }
}
親画面のライフサイクルに子画面を参加させることはできますか?
を使用することです、私はこの考えが、VM導体すべての親を作るために少し重い利きそうです。それにもかかわらず、おそらくうまくいくでしょう。複数の子ビューモデルをサポートするには、 'Conductor .Collection.AllActive'を使用する必要があります。 –
JulianM