C# 在XAML中处理VisualStates

C# 在XAML中处理VisualStates,c#,xaml,windows-phone-7,windows-phone-8,C#,Xaml,Windows Phone 7,Windows Phone 8,我关于XAML的问题: 我想在WP8中开发滑入/滑出菜单 因此,我的代码是: <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="ShowHideMenu"> <VisualStateGroup.Transitions> <VisualTransition GeneratedDuration="0:0:0.

我关于XAML的问题:

我想在WP8中开发滑入/滑出菜单

因此,我的代码是:

<VisualStateManager.VisualStateGroups>
        <VisualStateGroup x:Name="ShowHideMenu">
            <VisualStateGroup.Transitions>
                <VisualTransition GeneratedDuration="0:0:0.3"/>
            </VisualStateGroup.Transitions>
            <VisualState x:Name="ShowMenu">
                <Storyboard>
                    <DoubleAnimation Duration="0" To="335" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="stackPanel" d:IsOptimized="True"/>
                </Storyboard>
            </VisualState>
            <VisualState x:Name="HideMenu"/>
        </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>

和我的按钮代码:

<Button Content="Button" Margin="0,0,145,0">
                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="Tap">
                        <ec:GoToStateAction StateName="ShowMenu"/>
                    </i:EventTrigger>
                </i:Interaction.Triggers>
            </Button>

如何使其在状态为HideMenu时显示菜单,在状态为HideMenu时隐藏?

实际上是这样的:


您可以使用
切换按钮来代替
按钮
,这样您就可以使用
选中的
未选中的
事件:

<ToggleButton Margin="0,0,145,0">
  <ToggleButton.Content>
    <TextBlock Text="Button"/>
  </ToggleButton.Content>
  <i:Interaction.Triggers>
    <i:EventTrigger EventName="Checked">
      <ec:GoToStateAction StateName="ShowMenu"/>
    </i:EventTrigger>
    <i:EventTrigger EventName="Unchecked">
      <ec:GoToStateAction StateName="HideMenu"/>
    </i:EventTrigger>
  </i:Interaction.Triggers>
</ToggleButton>