2

在我的应用程序中,我一次只需要一个可见的视图,这就是我在 shell 中使用 ContentControl 的原因。问题是,如果我有一个可见的视图(比如说 View1)并且我激活了 View2,那么到目前为止一切都很好。现在用户按下 View2 上的关闭按钮,之后用户最终会看到一个空白屏幕,因为现在没有视图处于活动状态。我想区域适配器会在激活下一个视图之前停用当前活动的视图。

如何确保先前活动的视图再次激活(我的示例中的 View1)?我是否需要不同类型的区域来实现此功能?

提前致谢,

阿里

4

1 回答 1

1

不幸的是(正如你发现的那样)这不是行为。您必须自己跟踪您的视图并激活前一个视图。

Jeremiah 评论并让我思考一个行为。我认为 ActiveAware 行为可能是跟踪活动/非活动事件并可能对其采取行动的行为的一个很好的模型。

这是 ActiveAware 行为的源代码。你可以使用这个模型作为你想要的行为的起点,我很确定。 http://compositewpf.codeplex.com/SourceControl/changeset/view/26112#496678

于 2009-10-07T15:36:26.787 回答