0

我有一个使用 PRISM 架构 (MVVM) 编写的 WPF 应用程序。

我在“主窗口”区域的顶部有一个“过滤器”按钮和一个包含行的ListView,如下所示:

前

我希望当按下“过滤器”按钮时,用户控件将在“过滤器”按钮下“滑动”(使用动画)并显示自身,推动ListView并缩小它......

当用户控件完成出现时,它应该如下所示:

后

出现的控件将有一个“隐藏”按钮,该按钮将触发动画并将其缩小回顶部,直到它消失......

我怎样才能在 PRISM 中做到这一点?我必须为出现的用户控件选择一个区域吗?

我如何告诉该地区使用动画“展示”自己?

4

1 回答 1

0

您可能想查看WPF ToolkitTransitioningContentControl中的哪个。如果这不是您所需要的,那么,我想,您必须自己制作,您可以在其中覆盖方法,例如or并将自定义动画应用于内容。获得控制权后,在其上设置一个区域,就像简单ContentControlOnContentChangedOnApplyTemplateContentControl

<toolkit:TransitioningContentControl Regions:RegionManager.RegionName="AnimatedControlRegion" />

注册该区域的视图

regionManager.RegisterViewWithRegion("AnimatedControlRegion", () => container.Resolve<MyView>());

并导航到它

regionManager.RequestNavigate("AnimatedControlRegion", new Uri("MyView", UriKind.Relative));

或激活它

var view = container.Resolve<MyView>();
var region = regionManager.Regions["AnimatedControlRegion"];
region.Activate(view);
于 2012-08-20T13:00:59.313 回答