WPF学习笔记-数据采集与监控项目02-主界面(页面切换,抽屉侧滑栏效果)

以下是视频学习笔记

https://www.bilibili.com/video/BV1gq4y1D76d?p=28

1,页面切换和命令绑定

效果

 

 

 实现思路

 

 

 2,弹出抽屉侧滑窗的效果

【2.1】效果

 

 

 

 

 【2.2】侧滑栏代码

            <!--抽屉侧滑栏,Background="#EE444444" 是1个半透明的效果-->
                <Border Background="#EE444444" Width="240" HorizontalAlignment="Right" CornerRadius="5">
                <!--添加阴影效果,这里不是很明显,Direction是阴影的方向,180是阴影在左边-->
                <Border.Effect>
                        <DropShadowEffect Color="Gray" ShadowDepth="0" BlurRadius="5" Opacity="0.3" Direction="180"></DropShadowEffect>
                    </Border.Effect>
                <!--位移变形实现抽屉侧滑,实际上是改变X的值-->
                    <Border.RenderTransform>
                        <TranslateTransform X="250" x:Name="tt"></TranslateTransform>
                    </Border.RenderTransform>
                    <Button Width="40" Height="40" VerticalAlignment="Top" HorizontalAlignment="Left" Name="btnCloseUserInfo"
                           BorderThickness="0" Content="" FontFamily="../Assets/Iconfont/#iconfont"></Button>
                </Border>

  

【2.3】

                    <!--动画目标,把谁的什么属性在多少时间内从当前值变化到0,打开抽屉窗-->
                    <Storyboard x:Key="UserInfoStoryboard">
                        <DoubleAnimation Duration="0:0:0.2" To="0" 
                                         Storyboard.TargetName="tt"
                                         Storyboard.TargetProperty="X">
                        </DoubleAnimation>
                    </Storyboard>
                    <!--动画目标,隐藏抽屉窗-->
                    <Storyboard x:Key="CloseUserInfoStoryboard">
                        <DoubleAnimation Duration="0:0:0.2"  
                                         Storyboard.TargetName="tt"
                                         Storyboard.TargetProperty="X">
                        </DoubleAnimation>
                    </Storyboard>

  

【2.4】

    <Window.Triggers>
        <!--点击btnUserInfo触发UserInfoStoryboard打开抽屉窗-->
        <EventTrigger RoutedEvent="Button.Click" SourceName="btnUserInfo">
            <BeginStoryboard Storyboard="{StaticResource UserInfoStoryboard}"></BeginStoryboard>
        </EventTrigger>
        <EventTrigger RoutedEvent="Button.Click" SourceName="btnCloseUserInfo">
            <BeginStoryboard Storyboard="{StaticResource CloseUserInfoStoryboard}"></BeginStoryboard>
        </EventTrigger>
    </Window.Triggers>

  

 

posted @ 2022-07-03 19:41  包子789654  阅读(472)  评论(0)    收藏  举报