如何隐藏和显示按钮

时间:2015-03-17 15:27:23

标签: c# wpf xaml button

我尝试显示一个显示一些文字的按钮。每隔X秒,按钮必须向左滑动,并在里面重新出现。

由于我页面上的其他对象,我无法使用弹出窗口。

关于如何做到这一点的任何想法?

我已尝试使用网格,但我不知道如何滑动它。

XAML

   <Grid  x:Name="PropoCloud" VerticalAlignment="Bottom">
        <tut:TutorialAwareButton Name="PropoButton"
                                         Style="{StaticResource tplButtonCloud}"
                                         Command="{Binding CmdCreated}"
                                         BorderThickness="0" VerticalAlignment="Bottom" 
                                         HorizontalAlignment="Left" Width="410" Height="200">
            <tut:TutorialAwareButton.CommandParameter>
                <cmd:NavigationCommandParameter TargetName="QuestionCreatingView"></cmd:NavigationCommandParameter>
            </tut:TutorialAwareButton.CommandParameter>
        </tut:TutorialAwareButton>
    </Grid>

C#

private void SuggestionCycling()
{
    if (PropoCloud.Visibility == Visibility.Visible)
    {
        PropoCloud.Visibility = Visibility.Collapsed;
    }
    else
    {
        PropoCloud.Visibility = Visibility.Visible;
    }
}

1 个答案:

答案 0 :(得分:0)

您发布的代码只会隐藏并再次显示控件,您需要有动画将其拖出来并将其带入...看看这个Link以了解动画可以做什么该...

提供的链接不适合您复制,进行更改以满足您的需求并理解其概念。

这是一个功能解决方案:

<VisualStateManager.VisualStateGroups>
    <VisualStateGroup x:Name="FadeStates">
        <VisualState x:Name="FadeOut">
            <Storyboard>
                <DoubleAnimation Storyboard.TargetName="PropoCloud" Storyboard.TargetProperty="PropoCloud.Opacity" From="1" To="0" Duration="0:0:1"/>
            </Storyboard>
        </VisualState>
        <VisualState x:Name="FadeIn">
            <Storyboard>
                <DoubleAnimation Storyboard.TargetName="PropoCloud" Storyboard.TargetProperty="PropoCloud.Opacity" From="0" To="1" Duration="0:0:2"/>
            </Storyboard>
        </VisualState>
    </VisualStateGroup>
</VisualStateManager.VisualStateGroups>

只需在计时器周期中添加FadeOut.Storyboard.Begin();FadeIn.Storyboard.Begin();