给定一个可以显示4个不同应用程序页面之一的内容呈现器,并且我想基于视图模型状态淡化/以其他方式设置页面之间的转换动画。理想情况下,我希望在DataTemplate中定义所有这些,然后根据视图模型中的枚举触发转换,这样当某些表示状态的枚举发生更改时,转换会触发到相应的页面。
有没有已知的最佳做法来处理这样的事情?马上就会想到在数据触发器上使用Enter和Exit操作来播放故事板的可能性,但这肯定不会使用部件和状态模型,所以我想回避这一点。我也尝试过使用codeplex Expression项目中的DataStateSwitchBehavior,但发现它与WPF 4.0 / Blend 4 RC的SDK的最新版本无法兼容。有没有人对如何优雅地处理这个有任何想法?我正在使用MVVM-Light框架。另外我想指出的是,只要它存在于资源字典中的DataTemplate上,代码隐藏就不是没有重构的选项。