XAML转到绑定定义的visualState

时间:2012-06-07 14:56:22

标签: silverlight xaml expression-blend

我还没有很多XAML或表达混合的经验。我试图通过字符串绑定来定义我的silverlight应用程序的初始visualState。

到目前为止,我只是为每个可能的视觉状态制作手动触发器:

<i:Interaction.Triggers>
    <ei:DataTrigger Binding="{Binding VisualState}" Value="DevOffline">
        <ei:GoToStateAction StateName="DevOffline"/>
    </ei:DataTrigger>
    <ei:DataTrigger Binding="{Binding VisualState}" Value="Public">
        <ei:GoToStateAction StateName="Public"/>
    </ei:DataTrigger>
    ....
</i:Interaction.Triggers>

它有效,但我总共有9个州,所以我想要一些普遍的东西,如:

<goToStateAction StateName="{Binding VisualState}" />

有可能这样做吗?如果是这样,我在哪里把它放在我的XAML中?同一个地方?

1 个答案:

答案 0 :(得分:3)

GoToStateAction行为的StateName属性是依赖属性,因此您似乎应该能够绑定它。只需用PropertyChangedTrigger替换DataTrigger即可。您似乎应该能够执行以下操作:

<i:Interaction.Triggers>
    <ei:PropertyChangedTrigger Binding="{Binding VisualState}">
        <ei:GoToStateAction StateName="{Binding VisualState}"/>
    </ei:PropertyChangedTrigger >
</i:Interaction.Triggers>
相关问题