wpf内容过渡

时间:2011-03-10 17:58:58

标签: wpf wpftoolkit transition

我在WPF中有一个usercontrol,里面有2个按钮。 按钮处于叠加状态,您一次只能看到一个按钮。 我想在按钮之间使用淡入淡出过渡。

我可以使用此布局在代码隐藏中使用不透明度动画实现此目的:

<UserControl>
    <Grid>
        <Button x:Name="buttonA">A</Button>
        <Button x:Name="buttonB">B</Button>
    </Grid>
</UserControl>

但我想要一个更好的解决方案,最好是在XAML中。 像这样:

<UserControl>
    <TransitionContent CurrentContent="{Binding CurrentItemKey}" Transition="Fade">

        <TransitionContentItem Key="ItemA">
            <Button x:Name="buttonA">A</Button>
        </TransitionContentItem>

        <TransitionContentItem Key="ItemB">
            <Button x:Name="buttonB">B</Button>
        </TransitionContentItem>

    </TransitionContent>
</UserControl>

我可以使用LayoutToolkit:TransitioningContentControl来完成此任务吗?

还有哪些其他选择?

感谢

1 个答案:

答案 0 :(得分:3)

我不确定你是否会接受这个作为答案但是这里是:

从按钮转换到按钮可能意味着你应该有一个(至少)两个状态的按钮。

如果您使用VisualStateManager来定义状态并管理它们,您将获得转换。

编辑以回复您的评论:

您可以对tabcontrol进行子类化和样式化。只要另一个标签页激活,您就可以设置其不透明度的动画。这样你就可以创建一个通用的转换容器。

编辑找到interesting project on codeplex