【问题标题】:Parent and child model interaction父子模型交互
【发布时间】:2010-12-26 16:34:45
【问题描述】:

是否可以在 caliburn.micro 中设置类似 wpf 窗口所有者的内容?

我有 PARENT VIEW MODEL,从这个模型我用这个方法打开 CHILD SCREEN {VIEW MODEL}:

    public IEnumerable<IResult> Open()
    {

        yield return new ShowWindow("ChatScreen")
            .InitializeWith(_service
            .DetailData(Account, _selectedFriend.Value.Nick),
            AvatarImage);
    }

此方法创建一个新的 WPF WINDOW - CHILD SCREEN 并使用一些变量初始化 CHILD VIEW MODEL。

我想设置这样的 CHILD_SCREEN.PARENT = PARENT_VIEW_MODEL。

如果我关闭父视图模型,我希望它也关闭所有子模型。

另外,我如何检查屏幕在我的情况下 WPF 窗口是否从主视图模型中处于活动/非活动状态?

【问题讨论】:

  • 如今,“主\从”术语已被弃用,取而代之的是“父\子”。

标签: wpf mvvm caliburn.micro


【解决方案1】:

您需要为此编写基础架构。我假设 ShowWindow 正在使用 Caliburn.Micro 的 WindowManager 来显示窗口?在这种情况下,您需要维护对每个打开的窗口的引用。这种父/子关系要求是否只是为了在父关闭时关闭所有子?一种选择是实现您自己的维护打开窗口列表的指挥类型,以及维护父/子关系状态的您自己的 IScreen/Screen 类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-08
    • 1970-01-01
    • 2011-09-16
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多