在我的应用程序中,我一次只需要一个可见的视图,这就是我在 shell 中使用 ContentControl 的原因。问题是,如果我有一个可见的视图(比如说 View1)并且我激活了 View2,那么到目前为止一切都很好。现在用户按下 View2 上的关闭按钮,之后用户最终会看到一个空白屏幕,因为现在没有视图处于活动状态。我想区域适配器会在激活下一个视图之前停用当前活动的视图。
如何确保先前活动的视图再次激活(我的示例中的 View1)?我是否需要不同类型的区域来实现此功能?
提前致谢,
阿里
在我的应用程序中,我一次只需要一个可见的视图,这就是我在 shell 中使用 ContentControl 的原因。问题是,如果我有一个可见的视图(比如说 View1)并且我激活了 View2,那么到目前为止一切都很好。现在用户按下 View2 上的关闭按钮,之后用户最终会看到一个空白屏幕,因为现在没有视图处于活动状态。我想区域适配器会在激活下一个视图之前停用当前活动的视图。
如何确保先前活动的视图再次激活(我的示例中的 View1)?我是否需要不同类型的区域来实现此功能?
提前致谢,
阿里
不幸的是(正如你发现的那样)这不是行为。您必须自己跟踪您的视图并激活前一个视图。
Jeremiah 评论并让我思考一个行为。我认为 ActiveAware 行为可能是跟踪活动/非活动事件并可能对其采取行动的行为的一个很好的模型。
这是 ActiveAware 行为的源代码。你可以使用这个模型作为你想要的行为的起点,我很确定。 http://compositewpf.codeplex.com/SourceControl/changeset/view/26112#496678