wpf的PixelLab.Wpf切换效果

简介: wpf的PixelLab.Wpf切换效果

在wpf的开发过程中,页面的切换可以用Visibility来动态控制显示和隐藏,但是在wpf的开发中,关键还是要增加一些动画效果,提高系统的用户体验,自己可根据API写一些函数来实现简单的动画,网上也有不少开源的动态切换效果。

随着web的开发兴起,wpf虽然也能实现不少好看的效果,但是社区支持的热度也不是那么高,都是几年前所支持的类库了。

使用PixelLab.Wpf可以做一些动态效果的wpf切换,而且是开源的,github的网址是:https://github.com/thinkpixellab/bot

下边具体介绍一下使用方法:

//定义pixlab的命名空间,并需要在app或者style的xaml页面中,配置PixelLab的切换效果;

xmlns:lib="clr-namespace:PixelLab.Wpf.Transitions;assembly=PixelLab.Wpf"

//切换效果很多,可将数组中的lib上都配置上,在github的代码中有

<x:Array x:Key="MyTransitions" Type="{x:Type lib:Transition}">

        <lib:Transition TextSearch.Text="Base"/>

        <lib:FadeTransition Duration="0:0:0.5"

                        TextSearch.Text="Fade"/>

..............

//在要添加切换的wpf页面上,添加pixlab的命名空间

xmlns:lib="clr-namespace:PixelLab.Wpf.Transitions;assembly=PixelLab.Wpf

//添加切换控件的承载控件,类型是ContentControl,通过更换其中的控件,达到切换的效果

<lib:TransitionPresenter x:Name="_mainTranp" Transition="{Binding MainTrans}" Content="{Binding TransObject}"/>

在这里使用绑定的方式,mvvmlight的使用方式可在网上搜索,Transition是切换的效果,即在前边定义的切换效果,Content是其中的切换控件

//动画切换的效果对象

    private Transition _mainTrans = null;

    public Transition MainTrans

    {

        get

        {

            return _mainTrans;

        }

        set

        {

            Set(() => MainTrans, ref _mainTrans, value);

        }

    }

    //动画切换的内容控件

    private object _transObject = null;

    public object TransObject

    {

        get

        {

            return _transObject;

        }

        set

        {

            Set(() => TransObject, ref _transObject, value);

        }

    }


//代码中按以下设置即可达到效果

TransObject = null;

MainTrans = "切换的效果"

TransObject = "切换的对象";

以上即能达到控件的切换效果。

相关文章
WPF-ComplexLayout
WPF-ComplexLayout-DockPanel
253 0
WPF-ComplexLayout
|
C# 前端开发
WPF 小技巧
原文:WPF 小技巧 在使用mvvm模式开发时,对于Command的绑定是一件很伤脑筋的事情,尽管有强大的Blend类库支持: xmlns:Custom="http://www.galasoft.ch/mvvmlight"xmlns:i="http://schemas.
771 0
|
C#
WPF“天狗食月”效果
原文:WPF“天狗食月”效果 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangyisen0713/article/details/18596419 ...
752 0
|
算法 C#
WPF 实现水纹效果
原文:WPF 实现水纹效果 鼠标滑过产生水纹,效果图如下:     XMAL就放置了一个img标签   后台主要代码 窗体加载: private void Window_Loaded(object s...
1547 0
|
C#
WPF党旗和国徽!
原文:WPF党旗和国徽! 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangyisen0713/article/details/18087007 ...
642 0
|
C# 测试技术
[WPF] PerformClick ?
原文:[WPF] PerformClick ?                                       [WPF] PerformClick ?                                                   周银辉   WPF没有提供这个方法,还真是让人觉得有些讨厌啊。
1068 0
|
API C#
WPF版的HideCaret()
原文:WPF版的HideCaret()                                                    WPF版的HideCaret()                                                              ...
989 0
|
C# UED
WPF 使用DMSkin for WPF 快速搭建漂亮的WPF程序
原文:WPF 使用DMSkin for WPF 快速搭建漂亮的WPF程序 DMSkin-for-WPF是一个基于WPF的.Net WPF开源界面库,实现了无边框的WPF开发方案,内置部分控件模板. 你可以参照模板自行修改完善。
2058 0
|
C# 索引
WPF MeshGeometry3D
原文:WPF MeshGeometry3D 说说 MeshGeometry3D 里 常用的 四个属性。 先看看 MSDN 的 简介 先说说 Positions,介绍说 是顶点位置的集合,什么意思,看张图片。
940 0
|
C# Windows
WPF Adorner
原文:WPF Adorner 之前做项目时,为了实现类似微信消息数目的效果   image.png   ,我之前是修改的ControlTemplate。类似于将一个带数字的控件,放在另一个控件的右上角,来实现的这个效果。
1215 0