【问题标题】:wpf content transitionwpf 内容转换
【发布时间】:2011-03-11 03:00:20
【问题描述】:

我在 WPF 中有一个用户控件,里面有 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 来完成这个吗?

还有哪些其他选择?

谢谢

【问题讨论】:

    标签: wpf wpftoolkit transition


    【解决方案1】:

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

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

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

    编辑回应您的评论:

    您可以子类化和设置选项卡控件的样式。一旦另一个标签页被激活,您就可以为其不透明度设置动画。这样你就可以创建一个通用的过渡容器。

    编辑找到interesting project on codeplex

    【讨论】:

    • 对不起我的坏例子;更改两个 ContentControl 的两个按钮。
    • 好主意,我可以使用自定义 tabControl 或选择器来实现。
    • 谢谢 Erno,这是一个褪色的 tabControl:stackoverflow.com/questions/247954/…
    • @eze1981,您在评论中添加的链接不是 WPF 解决方案。
    猜你喜欢
    • 2020-07-13
    • 2015-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 2017-10-07
    相关资源
    最近更新 更多