XAML中的幻灯片动画

Wannabe Coder

我有一个固定在停靠面板右侧的选项卡控件。选项卡控件的宽度设置为10,不透明度设置为0。当我将鼠标移到其上方时,我希望将选项卡控件的宽度更改为200,将不透明度更改为100。然后,当我将鼠标移开时,使选项卡控件回到其原始值。我不知道该怎么做。有人可以帮忙吗?下面是我的标记,我试图在其中首先显示选项卡控件。

<UserControl x:Class="Cordata.Mrs.MVVM.Views.Controls.SlideoutView"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d">
<UserControl.Resources>
    <Storyboard x:Key="OnMouseEnter1">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Width)" Storyboard.TargetName="OptionsSlideout">
            <EasingDoubleKeyFrame KeyTime="0" Value="200"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
</UserControl.Resources>
<UserControl.Triggers>
    <EventTrigger RoutedEvent="Mouse.MouseEnter">
        <BeginStoryboard Storyboard="{StaticResource OnMouseEnter1}"/>
    </EventTrigger>
</UserControl.Triggers>
<DockPanel HorizontalAlignment="Stretch">
    <TabControl Name="OptionsSlideout" TabStripPlacement="Bottom" Width="10" Margin="0,0,0,5" HorizontalAlignment="Stretch" DockPanel.Dock="Right" Opacity="0">
        <TabItem Header="Configure">
            <StackPanel Orientation="Vertical">
                <Button Name="ConfigurationBuilderButton" Width="80" Cursor="Hand" Click="ConfigurationBuilderButton_Click">
                    <Button.Template>
                        <ControlTemplate TargetType="Button">
                            <StackPanel>
                                <Image Source="/Images/ConfigurationBuilder.png" ToolTip="Run Configuration Builder" />
                                <TextBlock Text="Configuration Builder" TextWrapping="Wrap" FontWeight="Bold" />
                            </StackPanel>
                        </ControlTemplate>
                    </Button.Template>
                </Button>
                <Button Name="LoadConfigurationButton" Width="80" Cursor="Hand" Margin="0,20,0,0" Click="LoadConfigurationButton_Click">
                    <Button.Template>
                        <ControlTemplate TargetType="Button">
                            <StackPanel>
                                <Image Source="/Images/LoadCustomConfiguration.png" ToolTip="Load Custom Configuration" />
                                <TextBlock Text="Load Configuration" TextWrapping="Wrap" FontWeight="Bold" />
                            </StackPanel>
                        </ControlTemplate>
                    </Button.Template>
                </Button>
            </StackPanel>
        </TabItem>
        <TabItem Header="Help">
            <TextBlock Text="Help" />
        </TabItem>
    </TabControl>
</DockPanel>
</UserControl>
谢里登

我需要添加一个,Rectangle以便DockPanel可以具有一些主要内容,因此允许我们将您停靠TabControl在右边。Resources为此,您不需要任何其他东西……我不得不删除您的处理程序,因为我没有在测试项目中实现它们。无论如何,只要TriggerIsMouseOver属性使用,就可以完成您想要的操作

<DockPanel HorizontalAlignment="Stretch">
    <TabControl Name="OptionsSlideout" TabStripPlacement="Bottom" Width="10" Margin="0,0,0,5" DockPanel.Dock="Right" Opacity="0.0">
        <TabControl.Style>
            <Style>
                <Style.Triggers>
                    <Trigger Property="Control.IsMouseOver" Value="True">
                        <Trigger.EnterActions>
                            <StopStoryboard BeginStoryboardName="CloseStoryBoard" />
                            <BeginStoryboard Name="OpenStoryBoard">
                                <Storyboard DecelerationRatio="0.8">
                                    <DoubleAnimation Storyboard.TargetProperty="(FrameworkElement.Width)" To="200.0" />
                                    <DoubleAnimation Storyboard.TargetProperty="Opacity" To="1.0" />
                                </Storyboard>
                            </BeginStoryboard>
                        </Trigger.EnterActions>
                        <Trigger.ExitActions>
                            <StopStoryboard BeginStoryboardName="OpenStoryBoard" />
                            <BeginStoryboard Name="CloseStoryBoard">
                                <Storyboard DecelerationRatio="0.8">
                                    <DoubleAnimation Storyboard.TargetProperty="(FrameworkElement.Width)" To="10.0" />
                                    <DoubleAnimation Storyboard.TargetProperty="Opacity" To="0.0" />
                                </Storyboard>
                            </BeginStoryboard>
                        </Trigger.ExitActions>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </TabControl.Style>
        <TabItem Header="Configure">
            <StackPanel Orientation="Vertical">
                <Button Name="ConfigurationBuilderButton" Width="80" Cursor="Hand">
                    <Button.Template>
                        <ControlTemplate TargetType="Button">
                            <StackPanel>
                                <Image Source="/Images/ConfigurationBuilder.png" ToolTip="Run Configuration Builder" />
                                <TextBlock Text="Configuration Builder" TextWrapping="Wrap" FontWeight="Bold" />
                            </StackPanel>
                        </ControlTemplate>
                    </Button.Template>
                </Button>
                <Button Name="LoadConfigurationButton" Width="80" Cursor="Hand" Margin="0,20,0,0">
                    <Button.Template>
                        <ControlTemplate TargetType="Button">
                            <StackPanel>
                                <Image Source="/Images/LoadCustomConfiguration.png" ToolTip="Load Custom Configuration" />
                                <TextBlock Text="Load Configuration" TextWrapping="Wrap" FontWeight="Bold" />
                            </StackPanel>
                        </ControlTemplate>
                    </Button.Template>
                </Button>
            </StackPanel>
        </TabItem>
        <TabItem Header="Help">
            <TextBlock Text="Help" />
        </TabItem>
    </TabControl>
    <Rectangle Name="DummyContent" Fill="White" />
</DockPanel>

为了供Mike参考,这里没有太多代码。如果您刚使用颜色RectangleBorder元素并表示要对此进行动画处理,则用户可以更轻松地看到您的问题Border这样,缺少处理程序,图像Style和/或Resources元素不会降低尝试帮助您的用户的速度。在发布之前简化问题总是有好处的,有时,您甚至最终会解决自己的问题。无论如何,这不是问题,该代码可以满足您的需求。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在iOS中播放动画幻灯片

来自分类Dev

UIWindow幻灯片动画

来自分类Dev

jQuery的动画与幻灯片

来自分类Dev

在addSubView中从左向右添加幻灯片动画(过渡)

来自分类Dev

在PowerPoint中的当前幻灯片上跳过动画

来自分类Dev

在动画JavaScript和HTML中制作幻灯片

来自分类Dev

是否可以在mmenu中删除幻灯片动画?

来自分类Dev

angular 和 javascript 中的幻灯片动画

来自分类Dev

当前位置的Android幻灯片动画

来自分类Dev

使用angularjs的CSS幻灯片动画

来自分类Dev

幻灯片(动画)不起作用

来自分类Dev

伪造的UINavigationController幻灯片动画

来自分类Dev

悬停时的Jquery幻灯片动画

来自分类Dev

片段幻灯片动画的问题

来自分类Dev

CSS背景幻灯片动画

来自分类Dev

在Sencha Touch中,是否可以同时使用幻灯片和淡入淡出动画?

来自分类Dev

CSS:我们如何在滑块中制作幻灯片动画?

来自分类Dev

UITabBar控制器的幻灯片动画,在目标C中水平滑动?

来自分类Dev

将PowerPoint中的每个动画导出到PDF到单独的幻灯片上

来自分类Dev

JavaFX:如何在窗格的动画效果中创建幻灯片(在透明舞台内)

来自分类Dev

您可以将Powerpoint中的动画“展开”到幻灯片吗?

来自分类Dev

流星js中的照片幻灯片

来自分类Dev

在CSS中创建幻灯片菜单

来自分类Dev

Android中的自动幻灯片图像

来自分类Dev

幻灯片放映中的多个图像

来自分类Dev

Vue中的页面幻灯片过渡?

来自分类Dev

删除Jquery bxslider中的幻灯片

来自分类Dev

幻灯片播放中的暂停功能

来自分类Dev

Android中的自动幻灯片图像