如何隐藏和显示按钮

How to Hide and show a 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;
    }
}

您发布的代码只会隐藏并再次显示控件,您需要有动画才能将其飞出并带入...看看这个 Link 以了解动画如何可以做到...

所提供的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(); 添加到您的计时器循环中。