簡體   English   中英

在XAML中處理VisualStates

[英]Handling VisualStates in XAML

我關於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,如何顯示菜單,如果顯示則隱藏?

實際上它看起來像這樣:

ShowMenu州

HideMenu州

您可以使用ToggleButton代替使用Button ,以便可以使用CheckedUnchecked事件:

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM