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