我希望在我的WPF应用程序中有一个导航功能,当用户执行给定操作(即单击按钮)时,该功能将交换UI的部分内容。将这些UI片段放在自己的窗口中并不合适。我一直在使用面板,并使用visible=true
属性进行交换,但在一个窗口中管理多个面板变得很麻烦。
我们使用Caliburn Micro Screens&导航指挥:
- 正在查看名为ActiveItem的ContentControl
- 使用ActivateItem导体替换ViewModel上的ActiveItem
对于交换效果,我们确实使用了两个触发器(在ActiveItem更改时从ViewModel引发)来设置ActiveItem的动画。一个触发器用于换入,一个用于换出(此动画所做的只是将裕度从偏移量更改为其适当值,并稍微延迟一点)。
您不仅可以为ActiveItem扩展此方法,还可以为您想要交换的每个控件扩展此方法。