导航可以分为两种:通过visual tree上控件状态变化的导航(例如,变化展现形式)称为State-based导航,通过在visual tree上增加或移除元素的导航被称为view-based导航,Prism对两种导航都提供了支持。
一、State-based导航
用不同的格式或者Style展现数据
情景:
上面的例子中,同样的数据被通过两种方式展现出来,列表形式和图标形式。因为不涉及到数据的变化,因此这种navigation完全在view层次上。
解决方案:使用Expression Blend的DataStateBehavior。
<ei:DataStateBehavior Binding="{Binding IsChecked, ElementName=ShowAsListButton}"
Value="True"
TrueState="ShowAsList" FalseState="ShowAsIcons"/>
通过控制view中不同control的visible和Collapsed来实现。
<VisualTrans