如何隐藏和显示按钮
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();
添加到您的计时器循环中。
我尝试显示一个显示一些文本的按钮。每隔 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();
添加到您的计时器循环中。