我有一个MVVM Silverlight 4应用程序,它在主窗口的ViewModel中包含一个模块列表(UserControl加上一些元数据)。我在ContentControl中显示模块的UserControl(内容绑定到“CurrentModule.View”)。
我希望通过宣传视图之间的过渡来为应用添加一些流行音乐。我为PreLoaded,Normal和Unloaded创建了Visual States。实例化UserControl时,我将其状态设置为PreLoaded。我已将GoToStateAction附加到UserControl的Loaded事件,该事件将状态设置为“Normal”,执行一个很好的动画以使View进入视图。这很好。
当用户切换模块时,如果将其动画显示在视图之外,我现在需要做什么。我有另一个GoToStateAction附加到UserControl的“已卸载”事件,该事件将状态设置为“已卸载”。我知道目前的设置不起作用。 ContentControl一次只能显示一个UserControl - 一旦切换发生,前一个模块就会消失。我无法确定动画是否在视图上运行,即使它不可见。
我如何完成我在这之后所做的事情?请记住,Iam尝试以MVVM友好的方式执行此操作,但是当我纯粹以演示文稿为重点时,我并不反对某些代码隐藏。
提前致谢! StackOverflow从未让我失望!
亚当